AtewZwiftrntf NZ 5 fi5t?
Malay** M $$45
Hong Kong
$2.95usa
.M
Motorola Microprocessors:
Hpple macintosh 1 " BBOOO
GinilX ™ .SSB ™ .SWTPC™ BB09
Tandg CoCo m BB09
Rduanced Operating Systems:
0S-9 ,M .UniFLEX" 1 .FLEX ,M
STHH-DOS ,M .mac-DOS
Programming Languages:
C, Hssembler. K-BHSIC
Compilers. Dissasemblers
VOLUME VII ISSUE V • Devoted to the 68XX User • May 1985
this Month:
Ada Programming Language
CoCo Using FLEX/STHR-DOS
05-9. C User Applications
VlJSL-:
'.«.
i^vSai
> Ti^l
V
■m * i;
lf 7U7Q ll 1Z810"
05
WE DON'T PLAY GAMES
X-12*
A SERIOUS COMPUTER
IN A DESKTOP PACKAGE
Multiprocessor Technology - Combination of 8,16 and 32 bit types
1.0 Megabyte Memory - Insures no limitation on programs
"Winchester" Disk System - Fast response, large storage capacity
UniFlex Operating System -The standard of comparison
Hardware Floating Point - Unmatched speed in a small system
Up to Three Terminals - Instant expansion
■ Trademark of fechnkaj Systems Consultants
SOUTHWEST TECHNICAL PRODUCTS CORPORATION
219 W. RHAPSODY
SAN ANTONIO, TEXAS 78216 (512) 3440241
I
Only Microware's OS-9
Operating System Covers
the Entire 68000 Spectrum
1
MICROWARE'S OS-9
UNIX
ROM-BASED
CONTROL
SYSIEMS
HAND
COMP
SMALL SYSl
1
FLDPPY-OISK BASED
PERSONAL
COMPUTERS
-HELD HARDWARE
UTERS DEVEL0FME1
EMS
i
SOFTw
RGE SYSTEMS
Is complicated software and expensive hardware
keeping you back from Unix? Cook inlo OS-9, the
operating system from Micmwaie that rives 68000 systems
a Unix-style environment with much less overhead and
complexity.
OS-9 is versatile inexpensive, and delivers outstanding
performance on any size system. The OS-9 executive is
much smaller and rar more ef-
ficient than Unix because it's
written in rast, compact as
sembly language, making it
ideal for critical real-time ap-
plications. OS-9 ca;i run on
a bfoad range of 8 to 2>1 hi
systems based on I he 08000
or 6809 family MPUs trom
ROM -based industrial con
trollers up to large multiuser
systems
OS-9 'S OUTSTANDING
C COMPILER IS
YOUR BRIDGE TO UNIX
Miouwaies C compiler tech-
nology is another OS Q advantage. The compiler prtiduces
extremely fast, compact and ROMable code You can easily
develop and port system or application software back and
forth to standard Unix systems. Cross-compiler versions imr
Key OS-9 Features At A Glance
Compact (16K) ROMable executive written in assembly
language
User "shell" and complete utility set written in C
C-source code level compatibility with Unix
Full Multitasking/multiuser capabilities
Modular design - extremely easy to adapt, modify, or
expand
Unit type tree structured file system
Rugged "crash-proof" file structure with record locking
Works well with floppy disk or ROM-based systems
Uses hardware or software memory management
High performance C. Pascal, Basic and Cofaol compilers
VAX and PDP- 1 1 make coordinated Unix OS -9 software
development a pleasure
SUPPORT FOR MODULAR SOFTWARE
- AN OS-9 EXCLUSIVE
Comprehensive support for modular software puts OS °>
a generation ahead or other opera ting systems. It multiplies
programmer productivity and memory el ticieney. Applica-
tion software can be buill
from individually testable
software modules including
standaid library" modules.
The modular structure lets
you customize and recon-
figure OS-9 for specific hard-
ware easily and quickly
A SYSTEM WITH
A PROVEN
TRACK RECORD
Once an underground
classic, OS-9 is now a solid
hit Since 1980 OS-9 has
been ported to over a hun
dred 6&0O and 68000
systems under license to some ot the biggest names in the
business. OS-9 has been imbedded in numerous consumer,
industrial and OEM products and is supported by many
independent software suppliers.
OS-9
MICROWARE SYSTEMS CORPORATION
1866 NW 114th Street
Des Moines Iowa 50322
Phone 515-224-1929
Telex 910520-2535
Micro ware Japan, Ltd
3-8-9 Baraki I chikawa City
Chlba 272-01, Japan
Phone 0473(2&4493
Telex 299-3122
'6B r Micro Journal
.uWfTUiti *►» Ma rMU.WC <»l%*l MlHixnla Unl* tt A luttlrm-rtfL nt tMl L&U
Portions of the text for ^B* Micro Journal were
prepared using the following furnished Hard/Software:
OMVTCRS - tvVSMART
Southwest lechfncal Products
219 w. Rhapsody
San Antonio, TX 7B216 ^
S09 - 5/8 dMF Disk - COS! - B2I2W
Sprint 3 Printer
GIMIX Inc.
1337 West 37th Race
60609
- 0S9 - FLEX
Chicago, IL
Supar Molnfre
Assorted Hardware
EDITtIRS - «BD PROCESSORS
Technical 9ystems Consultants, Inc.
111 R-ovfdence Road
Chapel Hill, NC 27514
FLEX - Editor - Text Processor
Great Rains Computer Co., Inc.
PO Box 916
Idaho falls, 10 83401
S ylograph - Half Harge - Sped
Editorial Staff
Don Wll Mams Sr . Publ Isher
Larry E- Williams Executive Ed 1 tor
Tom E. Williams Production Ed I tear
obert L* May Technical Editor
Aa*l a f atratf ve Staff
Mary Robertson Office Manager
Penny WM I lams Subscriptions
Christine tocher Accounting
attributing Editors
Ron Anderson Norm Comma
Peter Dibble William E. fisher
Dr. Tneo Elbert Carl Mann
Dr. E. M. Pass ton Volgts
Philip Lucfdo
Spec lei Technical FVoJects
Clay Abrants K6AEP
Tom Hunt
CONTENTS
Vol. VII, Issue v
FLEX USER Notes 7
0S9 USER Notes 11
C USER Notes 12
68000 USER Notes 18
Whimsical Revisited 20
ADA R And The 68000 22
Basic OS-9 26
CoCo USER Notes 29
Using FLEX/Star DOS 32
The Apple Macintosh 33
Ramblings 41
Bit Bucket 47
Classified Advertising 59
May 85
Anderson
Dibble
Pass
Lucido
Anderson
Elbert
Volgts
Mann
Brumley
Nay
Glennon, DMW
Casneuf
MICRO
JOURNN.
Send All Correspondence To:
Cfcaptrha- F^lfshlng Ctortor
66" Micro Jooraal
9900 Cfcssendre S*lt* Rd.
Nlxson, In. 37343
Phone (615) 842-4600 or Telex 558 414 PVf BTM
Oopyrlqhtwf 1909 by Computer PeWlshlng Inc*
68' Micro Journal Is published 12 times a year by
Computer Publishing Inc. Second Class Ffestage Paid
ISSN 0194-5025 at Hlxson, Tn. and additional entries.
Postmaster: send form 3597 to 68 1 Micro Journal , P0B
849 Hlxson, Tn. 37 34 3.
Subscription fertes
1 Year $24.50 U.S.A., Canada 4 fexlco Add $9.50 a
Tear. Other Foreign Add $12 a Tear for Sertmce,
Airmail Aed 148 a Year. Must be In U.S.
Hems or Articles For Publication
Articles submitted for publication should Include
authors name, address, telephone number and date.
Articles should be on either 5 or 8 Inch disk In
STYLOGRAPH or TSC Editor format with 3.5 Incti Cfcrfamw
width. All disks will be returned. Articles submitted
on peper should be 4.5 Inches In width (Including
Source Listings) for proper reductions. Rtoeso Use A
Dark Ribbon!! No Blue Inklfl Single space on 8X11 bond
or better grade paper. No hand written articles
accepted. Disks should be In FLEX2 6800 or FLEX9
6809 any version or OS-9 any version.
The following TSC Text Processor commands OaUY
should be used: *sp space, +pp paragraph, *fl fill and
-nf no fill. AJso please da not fbrmet within the text
with meltlple spaces. We will enter the rest at time
of editing.
All STYLOGRAPH commands ere acceptable except ,pg
page command. Ma print edited text files In contlnous
text form.
Letters To Tne Editor
All letters to the editor should comply with the above
requirements and mast be si gn ed. Letters of gripes"
as well as "praise" are solicited- We reserve the
right to reject any submission for lack of "good
taste" and we reserve the right to define "good
taste".
tiling
Commercial advertisers please contact 66* Micro Journal
advertising department for current rete sheet and
requirements.
Classified Advertising
All classified ads must be non-commercial* Minimum of
$9.50 for first 20 words end .45 per word after 20.
All clesslffeds must be paid In adv e nes* . *b classified
ads accepted over the phone.
'63' Micro Journal
GIMIX HAS THE 6809 SYSTEM TO SUIT YOUR NEEDS
5 HARDWARE
o
o All systems feature the GIMIX CLASSY CHASSIS; with a ferro-resonant constant
g voltage power supply, gold plated bus connectors, and plenty of capacity for future
expansion.
Static RAM and double-density DMA floppy disk controllers are used exclusively in all
systems.
All systems are guaranteed for 2 MHz operation and include complete hardware and
software documentation, necessary cables, fiiiler plates, etc.
Systems are assembled using burned-in and tested boards, and all disk drives are
tested and aligned by GIMIX.
You can add additional components to any system when ordering, or expand rt in the
future by adding RAM, I/O, etc.
GIMIX lets you choose from a wide variety of options to customize your system to your
needs.
SOFTWARE
All 0S-9/FLEX systems allow you to software select either operating system.
Also included is the GMXBUG monitor and, in systems with 128K or more of RAM,
GMX-VDISK for FLEX.
All GIMIX 0S~9 systems include Microware's Editor, Assembler, Debugger, Baslc09,
and Runb; and the 6MX versions of RMS and DO for OS-9
All GIMIX versions of OS-9 can read and write RS color computer format OS-9 disks.
as well as the Microware/GiMIX standard format.
New and exclusive with OS-9 GMX III systems is the GMX OS-9 Support ROM, a
monitor for OS-9 that includes memory diagnostics and allows the system to boot directly
from either hard disk or floppy.
A wide variety of languages and other software is available for use with either OS-9 or
FLEX.
OS-9 GMX lll/FLEX SYSTEMS (#79)
The 179 super system now Includes (in addition to the above) the 6MX
6809 CPU Irt, a 256K CMOS State RAM Beard (172). and a 3 -port In*
ttdgant Sertal I/O Pracetsor (111),
The BMX 6809 CPU III can perform high-speed OMA transfers Irom
memory to memory and uses memory attributes and tilegai instruction trap-
ping to protect me system and users Iron program crashes. If a user pro-
gram crashes, only dial user Is affected; other useis are unaware of the
problem
The 3-Pmt Indigent Serial I/O Board (#i 1 ) stgnihcantiy reduces system
overhead by handling routine I/O functions; freeing the host CPU for run-
ning user programs. This improves overall system performance and allows
user terminals to be run at up to 19.2K baud.
with dual 40 track OSDO drives S5998.79
with dual 80 track DSOO drives .„.. $6198.79
with 188 dual 8" OSDO drive system $7698.79
with #90 19MB Winchester subsystemand one 80 track $8898.79
with a A 7 M B Winchesle r subsystem and one 80 track $1 0, 898. 79
with a 47MB plus a 6MB removal* pack Winchester
subsystem and one 80 IracXdiive $12,398.79
TO 0*001 BY HAIL SEND CHECK OR MONEY OflOCR Of) USE VOUA VlSA OR
MASTER CHARGE. Rease allow 3 *tefcs for parson* cftectt lo dear U S onto* add
$5 handling « order t$ under $200 00 Fwrtgo orders add $10 handing If order fcs
under X200 00, FO/rfon orders ow S200.00 «N be shtoed via Emery Air Fraighri
COLLECT, and we w* cftarp no hauftng AJ orders must be prepaid m US fends
nease ncto mat foreign ctacte rvave beer taking atocfl a w«ta for coftecJon so we
would advise wing money, or rtecto drawn on a oar* accou* in tie U S Our oar*
* m« (Mr«f& Knots lUflarai BankcrfCtagD. 23i S laS* Street. Cteago H.
60693. aaawl §73-32033
BAStC-09 and OS-9 are ffM^rurks or Micrware Systems Corp. and U0T0R01 A, inc.
FLEX and umREX are vademarts of Tecrwtal Systems Consu&ms. inc
GIMIX. GHOST. GMX. CUSSY CHASSIS, are Tnrtsrarts ot GiMIX, *nc
OS-9 GMX 1 / FLEX SYSTEMS #49
The 149 systems encode 64KB static RAM, 805 CPU. #43 2 port serial
board
withduaMOtiack OSDO drives $3998.49
with dual 80 track OSDO diives S419849
with 888 dual 8" 0S00 drive system $5898. 49
with ISO f 9MB Winctwsler subsystem and one 80 track S6898.49
OS-9 GMX II / FLEX SYSTEMS #39
The 139 systems include 128KB static RAM. #05 CPU. #43 2 pat serial
board
with dual 40 tiack OSDO drives S4498.39
with dual 80 track OSDO drives S459839
wfm#88dua)8' k 0S00dnve system $6198.39
with 890 19MB Winchester subsystem and one 80 track . . . $7398.39
GIMIX DOES NOT GUARANTEE PERFORMANCE OF ANY GlMIX SYSTEMS,
BOARDS OR SOFTWARE WHEN USED WITH OTHER MANUFACTURERS
PRODUCT.
EXPORT MODELS: ADD $30 FOR SOHi. POWER SUPfUES.
GIMIX, Inc. reserves the right to change pitting, terms, and products
specifications al any time without further notice.
ALL PRICES ARE f.O B CHICAGO
Contact GIMIX lor price and avartabirty of UniFLEX and UrtfLEX GMXIII
Systems,
NOTE on all drive systems: Dual 40 track drives have about 700KB of for-
matted capacity; dual 80s about 1.400KB; dual 8" about 2.000KB. The
formatted capacity of ftard disks is about 80% ol the total capacity.
Want to expand your system to a
megabyte of Static RAM and 15 users?
Simply add additional memory and I/O boards Your GIMIX system can
giow with your needs Contact us for a complete list of available boards and
options
172 256KB CMOS STATIC RAM board
with battery back up :,,...... $1898.72
184 64KB CMOS STATIC RAM board
with battery back up ., _.,. $528.64
•67 64KB STATIC RAM board , $478.67
#11 3 port intelligent serial 1/0 board $498.11
143 2 poit serial I/O board S128.43
#42 2 poit parallel I/O board S88.42
#95 cabte sets ( t needed per poit). specify board . . . . $24.95
NOW SHIPPING !
UniFLEX
GMX III Systems
Gimix
1337 WEST 37th PLACE
CHICAGO, ILLINOIS 60609
(312)927 5510 • TWX 910-221-4055
- 19W GtWn ftC 4*4
Get
the
most
out
of
BASI
The OFFICIAL BASIC09 TOUR
GUIDE is skillfully written in a friend-
ly and easy-to-read style. Just
perfect for those new to computers
and to 6ASIC09. Its also a valuable
reference book for programmers,
engineers, students and hobbyists,
providing an in-depth look at
BASIC09 plus an overview of the
OS-9 operating system. Compre-
hensive reference sections on
BASIC09 and OS-9 commands are
also included.
The book "maps" out your route
through the Mercedes of Basics . . .
BASIC09 and puts you in the driv-
er's seat in no time. Fasten your
seatbelt, sit back and enjoy the ride
to perfecting your programming
skills.
MICROWARE . . .
The OFFICIAL BASIC09 TOUR
GUIDE comes from the people who
wrote BASIC09. As the leader in
6809 system software, we at
MICRO WARE care about our users
and want to help you get the most
from our products.
It's Easy to Order.
Phone orders are accepted from
MasterCard or VISA cardholders or
for COD shipment. You can also
order by mail using the coupon
below. Quantity discounts are
available to educational organiza-
tions and dealers. For further infor-
mation contact Microware.
Speotdints w sytlem sofluntrt for bS-fumily mkroprocesscn shut 1 47 7.
OS 9 and BASIC09 are trademarks of Mcroware and Motorola
Microware Systems Corporation
J866 NW IHth Screet
Des Moines, Iowa 50322
Telephone 515/224-1929
Tefex 910 520-2535
_ copies of the
Please send
Buic09 Tour Guide book at $18 95
each Add $2 . 00 for UPS shipping in
the U S or $5.00 for overseas atr mail
per book Iowa residents add 4%
sales tax.
Name
Address
Crty
Z.p
Stale
Q 1 have enclosed a check
Q Charge to my bank card:
MasterCard D VISA D
Card Number
Expiration
68' Micro .Journal
FLEX ™ USER NOTES
THE 6800-6809 BOOK
By: Ronald W. Anderson
As published in 68 MICRO JOURNAL"
The publishers of 68 MICRO JOURNAL are proud to announce the publication of Ron Andersons FLEX USER NOTES, in
book form. This popular monthly column has been a regular feature in 68 M ICRO JOURNAL SINCE 1 979. It has earned the
respect of thousands of 68 MICRO JOURNAL readers over the years. In fact, Rons column has been described as the
Bible' for 68XX users, by some of the worlds leading microprocessor professionals. Now all his columns are being
published, in whole, as the most needed and popular 68XX book available. Over the years Rons column has been one of
the most popular in 68 MICRO JOURNAL. And of course 68 MICRO JOURNAL is the most popular 68XX magazine
published.
As a SPECIAL BONUS all the source listing in the book will be available on disk for the low price of: FLEX "■ format only — 5"
$1 2.95 — 8" $1 6.95 plus $2.50 shipping and handling, if ordered with the book If ordered separately the price of the disks
will be: 5" $17.95 — 8" $19.95 plus $2.50 shipping and handling.
Listed below are a few of the TEXT files included in the book and on diskette.
All TEXT files in the book are on the disks.
LOGO.C1
MEMOVE.C1
DUMP.C1
SUBTESTS 1
TERMEMC2
M.C2
PRINT.C3
MODEM.C2
SCIPKG.C1
U.C4
PRINT.C4
SET.C5
SETBAS1.C5
File load program to offset memoiy — ASM PIC
Memory move program — ASM PIC
Printer dump program — uses LOGO — ASM PIC
Simulation of 6800 code to 6809, show differences — ASM
Modem input to disk (or other port input to disk) — ASM
Output a file to modem (or another port) — ASM
Parallel (enhanced) printer driver — ASM
TTL output to CRT and modem (or other port) — ASM
Scientific math routines — PASCAL
Mini- monitor, disk resident, many useful functions — ASM
Parallel printer driver, without PFLAG — ASM
Set printer modes — ASM
Set printer modes — A-BASlC
(And many more)
"Over 30 TEXT files included in ASM (assembler) — PASCAL — PIC (position independent code) TSC BASIC-C, etc.
NOTE: .CI, C2> etc. Chapter 1, Chapter 2, etc.
This will be a limited run and we cannot guarantee that supplies will last long. Order npw^or early delivery.
Foreign Orders Add $4.50 S/H
Softcover — Large Format
Book only: $7.95 + $2.50 S/H]
With disk: 5" $20.90 + $2.50 S/H |
With disk: 8" $22.90 + $2.50 S/H
See your local S50 deafer 'bookstore or order direct from:
Computer Publishing Inc.
5900 Cassandra Smith Rd.
Hixson, TN 37343
TELEX 551 414 PVT BTH (615) 842-4601
'68' Micro Journal
'FLEX i$ a trademark of Technical Systems Consultants
SOFTWARE DEVELOPERS!
YOU'VE JUST BEEN GIVEN THE BEST REASON YET
TO GET OUR 68000/UNIX® DEVELOPMENT SYSTEM
THE VAR/68K® SERIES
VK-5XW20 (List price SOOrKJlTJ $5,000.
Includes: Terminal. 20 Mb hard disk.
512K RAM. 8 ports and KEGULUS®
VK-5XW20T20 (List price iU*9«T.) $6,500.
Includes: all of above, plus 20 Mb
tape streamer
RESELLERS!
Even more attractive specials are available to qualified resellers!
Smoke Signal has been designing, developing and manufacturing
microcomputers based on the Motorola family of processors for
the past six years. The VAR/68K is the most recenl addition to our
family of multi-user computers.
VAR/68K is a registered trademark of Smoke Signal
REGULUS is a registered trademark oJ'Alryon Corp*
UNIX is a registered trademark of Bell Laboratories
Due to the extremely low prices being
offered, we can only accept cash or CO. D.
ordeis. and we must limit purchases to
one per customer. This is a limited time
offer.
TO OBTAIN YOUR VAR/6SK
AT THESE LOW PRICES, CONTACT:
SMOKE SIGNAL
31336 VIACOLINAS
WESTLAK& VILLAGE. CA 91362
(818) 889-9340 / Telex 910-494-4965
66 Micro Journal
Flex User Notes
Ronald W« Anderson
3540 SturbHdge Court
Ann Arbor, HI 46105
A Short Diversion
I'm going to devote a considerable part
of this month's column to a discussion that
might seem a bit irrelevant to the title of
the column. You might consider this to be
a short assessment of where we FLEX, 6809,
SS-50 bus users stand with relation to the
"other guys". The discussion is by no means
complete. My conclusion is that there are
still no newer computer systems that are
appreciably better at doing the things that
our systems can do, and in fact, many are
not as good. However, our systems have
definite limitations particularly in the area
of screen graphics, an area in which more
and more programs are being written,
particularly in the area of education and
computer aided design.
Comparison
As I reported last month, the company
recently bought a Radio Shack model 1200
with a 10 MByte hard disk. The 1200 is an
IBM "clone", and it was a best buy for an
IBM compatible system locally. We bought it
to run software from a company called
Wintek. If you have been in the area of
applications of 68XX microcomputers for a
while, you have most likely heard of them.
They have been selling 6800 hardware for a
long time for industrial applications.
(Coincidentally, I just today saw an ad for a
6809 processor board from them.) At any
rate Wintek has been advertising a software
package to run under MS-DOS for printed
circuit board design. The package allows a
user to prepare a PC (printed circuit) board
layout on his PC (personal computer), by
allowing him to place "pads" on a grid (0.05
inch) and then assisting in the routing of
conductors on the board showing him both
sides of the board in contrasting colors
with the points where there is foil on both
sides in the third color. The software
finds routes for wires on the board or it
will let the user route the traces (or
improve on routes selected by the software).
Incidentally, I think I referred to MS-DOS
last month as MOOS, which of course, was
Motorola's operating system for their
Exorciser development system. Pardon the
Freudian slip.
The system arrived this week, and it came
up running. The Wintek software is Super.
It was extremely easy to learn, and is not
overwhelmingly "smart". After the board
layout is done, the data in the computer is
used to plot artwork for the board. We
have an Epson MX-100 which is usable for
"prototype quality" boards, and we
immediately redesigned one of our previous
boards to try it out. The board took three
or four days to do originally, and it took
about 6 hours to do it with the computer
and the Wintek software. The software,
called smARTWORK also drives a Houston pen
plotter to produce superior artwork. I
have already turned in a requisition for the
plotter for future use. Meanwhile we will
get designs done for some less critical
boards and get the prototypes debugged.
Now to the point of mentioning all this
(at least one of the points). After a
couple days with two of us eagerly awaiting
our turns at the computer to try out the
software, we decided to check out the
Microsoft BASIC that was purchased with the
computer. The results were as expected,
and a boost to our conviction that we 6809
FLEX users have good things at our
disposal. I wrote a quick 25 line program
to generate 1000 random integers between
and 999, and perform a bubble sort on them.
We programmed both systems with as close to
the identical program as we could. The only
differences were in the use of the RANDOMIZE
function in the TRS, the argument for RND(),
and the call to the utility to print the
clock time at the start and end of the
execution of the program. The result:
6809 TSC Extended BASIC running on a 2 MHZ
processor, 35.5 minutes. Model 1200 running
Microsoft BASIC, 90.5 minutes! TSC Extended
BASIC on the "OLD" '09 ran better than 2.5
times faster than the very new model 1200.
The Microsoft BASIC is a full featured one.
(The .EXE file is 66K bytes!)
As we all know, the TSC Extended BASIC is
about 17K bytes. It would seem that
progress must be defined as going to
something more complex that is not as good
(at least in terms of speed)! About here
you will ask "Why did you buy the IBM clone
then?" The answer to that one gets to the
real heart of the question. I'll answer it
by asking another question. Does anyone
out there know of an interactive Printed
Circuit board layout program that will
generate 2X artwork on an Epson MX-100 or a
pen plotter, and that runs on a 6809 system
under FLEX? The Wintek folks can see the
handwriting on the wall.. They have been
68' Micro ^toumal
suppliers of 68XX products for a long while.
They wrote this software to run on an IBM
because everyone is buying IBM's because
there's lots of software available for IBMs..
and so on in a vicious circle forever.
I'll probably use a 6809 based
development system as long as 6809s are
made, . . The processor is entirely adequate
for many applications, and will not be made
obsolete by 16 bit processors for a large
class of applications in the foreseeable
future. I'll probably not in my lifetime
replace a 6809 system I have at home for
word processing applications and as support
for my work and consulting efforts.
However, as I want to use application
programs that are only available for MS-DOS
or one of the -NIX variations, I'll have
absolutely no choice but to switch to one of
those systems for those applications. Until
now, I've been content with BASIC to solve my
engineering problems. Now, however, the new
computers can handle something our 68XX
(SS-50 version anyway) was not set up to do.
Of course I am talking about GRAPHICS. To
be effective, software for applications such
as Printed Circuit board layout or CAD
applications must deal with graphics, not
only at the hard copy level (printers and
plotters) but at the terminal or user
interface. Try specifying a small printed
circuit board layout or something as simple
as a standard carriage bolt in words and
you will soon understand what I am getting
at.
Don't get me all wrong, our 68XX systems
will do nice printer graphics, limited only
by the printer's dot graphics capabilities
(e.g. the turtle graphics software published
in '68' Micro Journal several issues back),
but there is little or no graphics
capability (or multicolor display capability)
at the user interface end of the system. I
realize that there is at least one color
graphics board available for the 68XX but
there are not enough 68XX users, let alone
68XX users with that graphics board, to
make it economically feasible to market
anything as complex as the sort of software
I've mentioned here. Incidentally the PC
board software requires 192K of RAM to run.
Since writing the above, the plotter has
arrived. We had no luck trying to interface
it to the Tandy 1200 for a solid week. It
seems that all handshake signals are not
only ignored by the Tandy but cause it to
hang up Immediately and permanently. After
a few days of frustration, I found that I
could output a "plot 11 file to the hard disk
and then through a program in BASIC, output
it to the plotter with Xon Xoff protocol via
a nice feature of the BASIC. We have used
that mode to plot artwork for several
circuit boards. After a full week of fooling
around, Tandy called us and told us that
Microsoft has a problem with their operating
system with regard to the serial port, and
that they would get us a copy of the
corrected version to try within a few days.
Since we are able to use the system "as is"
the pressure for a permanent solution is
off. The whole problem has, however brought
about some thought on my part about the
situation. The Tandy system comes without
any hardware documentation (schematics) and
no software documentation. I suppose Tandy
would say that it is a "plug it in and run"
system that therefore doesn't require
documentation.
Somewhere during the week, I had
thoughts of a BASIC program to write 16,000
characters out to my SS-50 bus system and
wait for a "send more" command. We could
then use the SS-50 system to talk to the
plotter, and honor all handshakes properly.
Seems to be overkill to use a SS50 computer
as a large buffer between the Tandy and the
plotter, but I could have made it work with
a half a day or so of programming. The more
permanent solution from Tandy is the better
way. I guess, given the choice between
supposedly completely debugged software and
complete documentation, I'd prefer the
documentation. That way, my hands wouldn't
be totally tied if things don't work "as
advertised" on the first try. Certainly the
availability of better documentation would
have saved my employer from paying for about
two man weeks of struggle in getting the
software up and running properly.
Flying Lessons
I recently found a good buy on a used
Atari 800 with one disk drive. My second
trip to the local bookstore afterward,
revealed that I could buy Atari software
there (Walden Books). I am so used to
buying 68XX software by mail order that the
thought had never crossed my mind. At any
rate, I found a good program to teach typing
on the Atari and bought it for my son. At
Christmas, I went back to the same store
and found a Flight Simulator program.
(Sorry but here we go on graphics again).
If you read BYTE, you have seen the pictures
69' Micro Journal
of the screen of this one or one similar. I
am not a pilot, but I have flown in small
airplanes with others for a long time, and I
am familiar with the controls and
instruments, and more particularly the radio
navigation systems. The simulator comes
with an aerial chart of the Chicago area
down as far as Champaign Illinois. Now
since I grew up in Chicago and lived in
Champaign for 11 years, I was quite familiar
with the route between these two points,
Meigs field in Chicago, and Willard Airport
in Champaign. My first efforts were to take
off from Meigs, turn on the Nav. radios, and
follow the Omni signals to Peotone Illinois
and then to Champaign. That route takes
one right down Interstate 57, which is
visible during the simulated flight. The
cities appear in outline form as does the
Kankakee River as it is approached. All
airports appear with white runways, running
in the proper directions as indicated on the
air chart. About all they left out is the
most visible landmark in Champaign, the
University of Illinois Assembly hall which
closely resembles a giant flying saucer.
At an airspeed of 130 knots, it is about
a 60 minute flight, and I was impressed with
the passing cornfields south of Kankakee and
right on down to Champaign. I managed to
crash trying to land at Willard. I'm going
to have to get a pilot friend to come over
and give us some flying lessons. The
instruments appear on the lower part of the
color TV monitor, and needles move just as
they do in a "live" situation. The nav.
radio needle pegs realistically and
overshoots as you change the heading too
rapidly in an effort to center the needle.
The DME equipment indicates distance to the
Omni transmitter. Radios only function when
within range of a station, I had the same
trouble stabilizing the attitude of the
simulator (oscillating between climbing and
diving) as I do handling a "live" version.
The program contains additional area data
for the New York City to Boston area, the
Los Angeles area, and the Seattle area.
Needless to say, I'm impressed, again with
graphics and color displays. The market for
this software in its several versions to run
on Atari, Apple, and Commodore computers is
so large that the price was only $39,951
Don't hold your breath for a version to run
on the SS-50 bus with a color graphics
board... (After writing this today, I saw a
demonstration of the program on a television
show about computers, and then saw it
running at the local computer store on an
Apple).
Frustrations of a Dumb Programmer
When you are a software writer, you can
blame the dumb users for the problems, and
when you are a user you can point at the
stupid programmer for them. I am in the
position of being both, sol have only myself
to blame. Yes, it is time for my annual
stint at printing out church contribution
records for some 300 contributors. This is
my third year at the job, and my software
(in TSC Extended BASIC) is getting smarter
each year. The biggest problem is positive
identification of the contributor, and that
problem can't be overcome by a smarter
program. For example, some folks use a
nickname or a second name in their day-to-
day communications with others, but their
personal checks have their "real" name on
them. I may know someone as Ralph Smith,
but his check might have his name as John
R. Smith. It might take me a long time to
make the association.
I prepare these records as though
couples are filing Joint returns. If half of
the time the contribution is recorded as
coming from Roy Jones, and the other half as
coming from Susan Jones, and I happen to
know that the two are married, there is no
problem. If they are new, after a month or
two I might begin to suspect that they are
one household and that I should merge the
two records.
Then there is the mobility problem.
People's addresses change rapidly. To abate
that problem a little, I've separated the
weekly contribution entry software from the
"edit the address" software.
Next problem is multiple contributions by
the same person, I've made it possible to
correct previous entries if I run across a
second that is identifiable as being from
the same contributor as the first. That is
fine if there are two serial numbered
envelopes in the collection with the same
number, but if there is a check identifiable
by name and an envelope identifiable by
number, my update file building program can't
correlate the two, and my program that
posts the week's transactions to the main
data file will post the first of the two
contributions to that person's record and
start a new record for the second.
As I mentioned above, each year I get
smarter and make the program a little more
'68' Micro Journal
9
usable, but I still have to resort to
dumping the whole data file and looking
carefully for redundant records before I can
actually print out the year's statements.
One particularly obnoxious problem that I've
had this year is that of familiarity with the
data entry program. I get going fast and
don't look at the prompts on the screen and
type a name in a field where a number is
expected. I haven't trapped the error
properly and the program ceases execution
with an error message and closes my data
file without having written any of the data
that is stored in memory, so I have to start
over again. Of course some simple testing
of ERl (error line number) in my error
handling routine would solve that problem.
That is n\y next project. My point is simply
that handling "real world" data is not
necessarily anything like the textbook
examples. Making a set of programs to
create, update, and maintain a database
file, and to print out a report from the
data in that file, is not a simple
straightforward project.
K-BASIC
I have further word from Frank Hoffman at
Lloyd I/O that K-BASIC is now fully capable
of handling all the features of TSC Extended
BASIC. The last to be adc)ed were Random
Files, and PRINT USING. Frank tells me that
he has removed a previous restriction of the
compiler that prohibited the use of spaces
in a mathematical expression. I believe K-
BASIC is now fully compatible with TSC
Extended BASIC, and the combination should
be quite a pleasure to use. Currently,
Frank has a BCD floating point math package
running. It is possible to specify the
number of digits of precision desired in a
program. Frank also plans to have a Binary
floating point package for those who want to
do scientific calculations rather than
financial ones, where a 9 digit binary math
will offer a large speed advantage over a 15
digit BCD package. I mentioned that last
month but now there is an additional
possibility. The binary package may also be
supplied in such a form that the user can
specify the precision of the math at compile
time, though that is not sure at the time of
this writing.
I have received the latest version of K-
BASIC since writing the above. I've compiled
several TSC BASIC programs with minimal
modifications, and found them to work fine.
I've talked to Frank Hoffman and discussed
the minor syntax differences with him. He
tells me that he will change K-BASIC to be
compatible wherever there is a known
difference. The latest version, as I
mentioned above, has random files and "print
using" implemented. K-BASIC is now so close
to TSC Extended BASIC as to make conversion
trivial, and I would guess that all
differences will eventually be resolved so
that any TSC BASIC program will compile
without change, in K-BASIC.
Since writing the above on K-BASIC, the
new package has arrived and I have
successfully compiled a number of TSC
Extended BASIC programs and reported two or
three minor syntax differences to Frank
Hoffman. I found that K-BASIC would accept
ON ERROR GOTO <line number> but not ONERROR
run together as one word. TSC will accept
either and I had used both forms in various
places in try programs. Changing the single
word to two made the compiler accept them.
I then found that EXEC, "FILENAME" worked in
TSC BASIC, but only EXEC "FILENAME" (space
and not comma) would work in K-BASIC.
Space does not work in Extended BASIC. I
had one problem with multiple statements on
a line, but Frank told me that the problem
has been corrected since he mailed my
package. In short, there are just a few
minor differences yet to be resolved to make
a source listing in TSC Extended BASIC
completely compatible with the compiler. At
this point, the two are so close that
conversion of fairly complex programs is
quite easy.
Just one more note here. John Spray,
author of the Whimsical language for the
6809 visited the United States early in
January. John came to visit with me in Ann
Arbor for a few days, and we had time to
translate one of ny instrument programs at
work into Whimsical. I wanted to see how it
would do, but this is the first time that I
have had such deluxe treatment. The author
of the compiler came half way around the
world to give me a personal demonstration of
what his compiler could doi Seriously, John
and I have been communicating for a year or
more regarding his compiler and my
applications. We enjoyed meeting each
other. Mail communications between here
and New Zealand are to say the least, slow.
It has taken about a month for a letter to
make a "round trip". As I write this, John
has returned to New Zealand (a couple of
days ago). While he was here, he also
visited the Williams family down in
Tennessee.
10
68' Micro Journal
0S9 USER NOTES
By: Peter Olbble
517 Goler House
Rochester, NY 14620
The Game's the Thing
I had a bunch of interesting things
lined up to talk about this month: a nice
sort program I've reviewed, user-written
system routines, maybe something using a
ring of tasks communicating with pipes.
At the last minute I changed my mind.
My execution directory fills pages.
I dread the times when I don't remember a
program's name and have to go rummaging
for it. In that entire mass of programs
there is just one game (adventure -- Gimix
used to include it with hard-disk systems,
maybe they still do) .
Microware sells a small package of
games, but they make the excuse that the
games are good examples of Basic09 coding
technique. I guess they don't want to
give anyone an opportunity to accuse them
of selling recreational programs. I don't
have the Microware games so I won't
comment. I don't recall any other games
for OS-9. Are we really such a
sober-sided bunch? Anyone out there like
to play?
Many of us use our computers for
business. You'd think that was a good
reason for the sparse supply of games, but
even including the most businesslike
computers I know, I can only think of two
non-OS-9 machines that I didn't couldn't
get games for.
Maybe the CoCo/OS-9 contingent has
written a pile of games that I don't know
about. The graphics and sound on a CoCo
beg to have games written to use them.
(Yes, I know that there are plenty of
games for the CoCo without OS-9.) I went
out and bought game paddles for my CoCo so
I'd be ready for the games when they
started arriving. No games.
I'm not going to simply complain
about this. I wrote a silly little game
for the CoCo. It needs lots of
improvement, and it's written in Basic09
so most CoCo owners should be able to work
on it. I won't get carried away with this
game project; next month I'll probably get
back to solid stuff again. Still, I
thought up a bunch of games for OS-9
before I settled on this one. There are a
bunch of old standards that wouldn't be
hard to adapt. Til come back to this
again.
The game (which I think of as Weavel
or Virus) is like most shoot-em-down
games. You guide your weapon around with
a joy stick (it leaves a tail behind it).
Circles come drifting in from the right
side of the screen. If you can get the
point controlled by the joy stick inside
the circle before it gets to the left side
or the bottom of the screen, fine. If the
circle makes it to the edge you see a
display that is supposed to indicate that
something nasty has happened to you.
This game is pretty easy. You can
make it harder by requiring a closer hit
(change the constant in QHIT), or
constraining the motion of the weapon. A
nice constraint might be to require the
weapon to be moving horizontally in order
to score a hit.
Speeding the game up would help a
lot. There are enough inefficiencies in
the code to make that the first place to
look. Recoding the program in C would
probably make it fast enough so you would
start looking for extra features to add.
Careful assembly coding would (of course)
give the best performance.
It looks hard to add sound. I
wonder?
Sorry this column is so short this
month. It took longer to design and write
this game than I expected.
PROCEDURE MAIN
0000 OIH I: INTEGER
0007 OIM HISTRX(8).HIST3Y(a):INTEGER
001C OIH COLORR: INTEGER
0023 OIM BALLX.BALLYil^TE'JER
002E OIM HIT:B00LEAN
0035 BALLX«0
003C BALLY«0
0043 C0L0RL«13
004B C0L0RR-13
0052 RUN INIT(COLORR)
0D5C FOR I«I TO 8
OOSC HISTRX(I)-0
0077 HISTRY(I)-0
0082 NEXT I
0080 RUN FLYINGBALKBALLX. BALLY)
009C LOOP
009E RUN DGHOVEOUSTRX.HISTRY.COLORR.O)
0085 RUN QKILLfHISTRX.HISTRY.SALLX.SALLY.HIT)
0003 IF HIT THEN
000C RUN EXPL00E(8ALLX.8ALLY)
00E8 BALLX-0
00F2 BALLY -0
00F9 ELSE
OOFO RUN FLYING8ALL(BALLX.6ALLY)
01OC ENDIF
010E EN0L00P
PROCEDURE DOMOYE
0000 OIH I INTEGER
0007 OIH X.Y;INTEGER
0012 OIH FIRE:800LEAN
0019 PARAM HISTX(8).HISTY(8): INTEGER
002E PARAM COLOR: INTEGER
0035 PARAM STICK: INTEGER
003C RUN UNDRAH(HISTX.HISTY)
0048 FOR I-i TO 7
005B HISTX(I)«HISTX(I*1)
0060 HISTY(I)-HISTY(I*1)
007F NEXT I
'66* Micro Journal
11
12
008A
RUN GFXrJOYSTK", STICK, FIRE, X,Y)
OOAC
X*<+X
OOB7
Y-3*Y
OOC2
HISTX(8)-X
OOCO
HISTY(8)-Y
OOOB
RUN OR AW(X t Y, COLOR)
OOEC
IF FIRE THEN
OOF 5
C0L0R-C010R+1
OlOO
IF C0L0R>15 THEN
010C
COLOR- 13
0113
ENOIF
0115
ENOIF
PROCEDURE
DRAW
0000
PARAM X.Y:INTEGER
OOOB
PARAM COLOR: INTEGER
0012
RUN GFXTLINE-.X.Y, COLOR)
PROCEDURE
UNDRAW
0000
PARAM HISTX{8),HISTY(8):1NT£GER
0015
OIM X1,X2,Y1 > Y2:1NTEGER
002B
Xl-HISTX(l)
0032
X2-HISTX(2)
003C
Yl-HISTY(l)
0046
Y2»HISTY(2)
0050
RUN GFXrLINE\Xl,Yl.X2,Y2.12)
0073
Xl-HISTX(B)
0070
Yl-HISTY(B)
0067
RUN GFXCHOVE-.Xl.YI)
PROCEDURE
FLYING8ALL
0000
PARAM X,Y: INTEGER
OOOB
RUN GFX("CIRCLE\X,Y.10,12)
0029
IF X-0 THEN
0035
IF Y<>0 THEN
0041
RUN OISPLAY
0045
ENOIF
0047
X-240
004E
Y-RNDC181)
0056
IF Y<B THEN
0064
Y-B
006B
ENOIF
0060
RUN GFX("CIRCLE",X,Y.10,15)
OOBB
ELSE
008F
X-X-6
009A
IF Y>10 THEN
00A6
Y-Y-2
0061
RUN GFX("CIRCLE".X,Y,10.15)
OOCF
ELSE
0003
X-0
OOOA
ENOIF
OOOC
ENOIF
PROCEDURE QKILL
0000
PARAM HX(8).HY(8):1NTEGER
0015
PARAM 8X, BY: INTEGER
0020
PARAM KIT:B00LEAN
0027
OIM OX,OY:REAL
0032
DIM OSQR:REAL
0039
DX-BX-KX(8)
0046
DY-BY-HY(B)
0057
OSQR-OX*DX*OY*OY
006B
HIT-0SQR<64_
PROCEDURE
OISPLAY
0000
OIM 1: INTEGER
0007
DIM J: INTEGER
OOOE
RUN GFX( ,, C0L0R\3)
OOIE
RUN GFX("M0VE".127,95)
0030
FOR 1-10 TO 90 STEP 10
0045
RUN GFX("CIRCLE",I,3)
0D5B
RUN GFXPCIRCLEM.O)
0071
NEXT 1
007C
RUN GFX( "COLOR" ,13)
PROCEDURE
EXPLOOE
0000
PARAM X,Y: INTEGER
OOOB
OIM I: INTEGER
0012
RUN GFXrCIRCLE\X,Y.I0,12)
0030
FOR 1-20 TO 2 STEP -2
0046
RUN GFX("CIRCLE".X,Y,I.13)
0066
RUN GFX("CIRCLE , \X.Y,i.l2)
00B6
NEXT I
0091
X-0
009B
Y-0
PROCEOURE
INIT
0000
PARAM COLOR: INTEGER
0007
RUN GFXrMOOEM. COLOR)
0016
RUN GFX( "CLEAR")
0026
«/-%*
C User Notes
Edgar M, {8od> Pits, Ph.D.
1454 Litte Lin*
Co«y*rS. GA 30?07
INTRODUCTION
This chapter begins a tutorial on the C
language, as described by Kernighan and
Ritchie in their C book. The tutorial is
not comprehensive or rigorous . The reader
is expected to be already familiar with
BASIC or similar algorithmic languages.
The only manner in which to learn any
computer language, including C, is to
actually write and debug a few programs.
This chapter should give the reader the
flavor of C. If you like it, get a C
compiler for your computer and learn to
use it,
GENERAL
C was developed originally at Bell Labs by
Dennis Ritchie on a DEC PDP-11 under the
UNIX operating system in the middle
1970's. It is so popular in its
environment that UNIX itself t the UNIX C
compiler, most UNIX utilities, and many
UNIX application programs, are all written
almost exclusively in C.
Because of its design and the method of
its implementation. C has proven to be
extremely portable across mainframes,
minis, and, recently, micros.
Unfortunately, many dialects have
sprouted, and many implementations have
not been very carefully done, making it
somewhat difficult to transport C programs
among the various implementations.
However, if a subset of C is used along
with programming guidelines, C programs
may be generally transported far more
easily than may be most BASIC programs.
DESCRIPTION
C is a "not-very-high-level" language. It
generally deals with low-level concepts on
the same level as macro assemblers. Thus,
for example, although it deals with
characters, it does not deal with strings.
This type of ruthless language
simplification will probably bother most
pros rammers already familiar with APL,
BASIC, or COBOL more than any other
feature of the language with the possible
exception of expression syntax, which is
sometimes strange and arbitrary.
C provides the control structures required
for structured programming, a tremendous
advance over most dialects of BASIC and
FORTRAN, among other non-structured
languages. It requires the declaration of
all variables used by the program, which
prevents the problems caused by variables
mis-spelled in BASIC and FORTRAN. It
provides a block-structured syntax which
prevents one subroutine from Interfering
with the variables of another subroutine,
another highly-desirable feature of many
structured languages. Refer often to the
example at the end of this article to
relate to the concepts as they are
presented.
68' Micro Journal
A8 jU8t
declared
declared
"Local"
subrouti
terms f
language
variable
for all
BASIC,
defined.
VARIABLE DECLARATIONS
noted, all variables must be
before their use. Variables
within subroutines are called
and those declared outside of
nes are called "global". These
ollow the block structure of the C
and Indicate the range of a
In terms of whether It exists
subroutines in a program, as in
or for only the one which It Is
C has several types of
declarations, as follows;
basic variable
Int Integer
(usually 16 bits)
short Int short Integer
(usually 8 or 16 bits)
char single character
(usually 8 bits)
float single-precision floating point
(usually 32 bits)
double double-precision floating point
(usually 64 bits)
long int long Integer
(usually 32 bits)
It also has a large number of variants and
composite variants of these types,
including "unsigned" , "union 1 '
"structure", "pointer", and "function*
meta-types returning these types, some of
which will be covered in this chapter, and
some of which will be covered in the next
chapter.
An array of a certain variable type is
designated by placing the constant number
of elements in the array, in brackets,
after the variable name, in the type
statement.
Variable naming restrictions and
conventions vary significantly and may
cause difficulty in transporting C
programs among compilers and systems. The
usual mode of implementation of C
compilers is to translate the C source to
an intermediate assembler language, which
Is then assembled using either a special
or a standard system assembler. Depending
upon the details of the implementation,
the C variables and subroutine names may
be required to follow conventions and
restrictions of the host system. In
addition, C compilers reserve certain
keywords for their own use, the exact list
depending upon the implementation.
Variable and subroutine names in C should
begin with a letter and may be composed of
letters and numbers. Some Implementations
allow underline, at, and dollar as
additional subsequent symbols. Some
distinguish between upper and lower case
letters, and some do not. Some require
uniqueness in the first six characters.
Some systems require library file and
function names to contain only upper-case
letters and numbers, while others allow or
require prefixes, suffixes, or other
system-dependent-information. Most full C
compilers support at least the the minimum
to zero
whereas the
in many
following
K and R standards for variable and
subroutine names and they support host
system standards for library files.
CONSTANTS
INTROL allows several types of and
notations for constants. The user should
generally avoid mixing types of variables
and constants in the same expression as
the implicit conversions provided by the C
compiler may not be what the user
expected. For example, the following
expression;
(1/2)
may evaluate
implementations ,
expression;
(1.0/2.0)
will normally evaluate to 0.5 (in
implementations supporting floating point,
of course).
Type "Int" and "float" constants are
written in C. as in BASIC, using the
expected notation, such as the following:
1,-1, +1, 2.5, etc.
However, the following (exponential)
notation may also be used:
1E0, -1E-7, 2.5E+3, etc.
Type "double" constants are written using
the same notation, assuming that a given C
compiler supports them. Type "long int"
constants may be written as normal
integers, followed by "L" or "1". Integer
constants too large to be "short int"
constants will be automatically converted
to "long int". Type "int" constants may
also be written using octal or hexadecimal
notation, by preceding a digit string with
a zero for octal or by preceding a string
containing digits and the letters A-F (or
a-f) with "0x w for hexadecimal •
Type "char" constants may be entered as a
single character enclosed in single
quotes, or as a symbolic escape sequence
of one of the following forms:
\n (newllne)
\t (tab)
\b (backspace)
\r [carriage return)
\f (form feed)
\1 (line feed)
\\ {backslash)
V (single quote)
\0 (null)
\nnn (octal nnn)
\xnn (hex nn)
Type "char" constants may be used wherever
S
nt" constants may be used. However,
various implementations vary concerning
the sign-extension or truncation employed
In the conversion of type "char" to type
"int".
A string constant, as in BASIC, is a
series or zero or more characters (or
symbolic escape sequences) surrounded by
double quotes.
$8' Micro Journal
13
FUNCTIONS
A C program is a series of one or more
function definitions. By convention, the
first (or only) function executed is named
"main". K and R provides the following
example of a C program! which happens also
to be exactly one function:
main ()
printf ("hello, world\n");
This trivial C program is Intended to
print the following:
hello, world
and illustrates, by example, several
points about functions. The body of
main 1 * is enclosed in open and close
braces, as required for all functions.
The library function "printf" is called
with one string constant argument. The
function call statement is followed by a
semicolon.
The function "main" (as shown here) has no
parameters, but, if it did, they would be
listed between the parentheses, separated
by commas, and declared as local
variables, as in the following function
definition example:
addl(n)
int n;
n « n + 1:
return (n;
which also illustrates several items
concerning functions. The primary point
is that functions can return values; if a
function does not have an explicit type,
it is defaulted to type "int".
The only manner in which a function can
pass a value directly to a caller is thru
the parameterized option of the "return"
statement. However, a function is not
required to have a type, as shown by the
call to "printf" in the original example.
Since the variable "n" is local to
function "addl", no value may be directly
passed back thru a parameter*
Technically, all C parameters are passed
by value, not by address, making it more
difficult to pass results back to the
caller, but solving many "side-effect"
problems.
Results may be returned to the caller thru
globals, arrays, or pointers, among other
methods. However, this method of
parameter passing avoids the FORTRAN
horror of accidentally modifying
constants, as in the case of passing a
constant, not a variable, to the
function.
istng €
"adaV
The expandability of C is partially due to
the ease of definition of C functions in a
Private library; "printf" is one such
ibrary function. The standard C library
will be discussed in a later chapter.
EXPRESSIONS
Although expressions in C may look a
little strange at first to someone
familiar with BASIC* there are strong
parallels between the languages in terms
of expression formation.
The arithmetic operators are as follows:
*
/
%
addition
subtraction
multiplication
division
modulus
unary negation
++ unary increment
unary decrement
, sequential evaluation
The logical operators are as follows:
tt
and
or
unary not
The relational operators are as follows:
>
<
<«
greater
not less
less
not greater
equal
not equal
Note that the "equal" operator is "-=" ,
not "-".
The assignment operator "=" is allowed
inside expressions, and has the same
interpretation as outside expressions, of
changing the value of the variable on its
left side to that of the expression on its
right.
The bitwise logical operators are as
follows:
Iand
or
exclusive or
« left shift
» right shift
unary one's complement
The conditional expression is designated
by the pair or operators "? M and ": when
used in the following context:
el ? e2
e3
which may be Interpreted as follows:
if "el" is true
the value of the expression is "e2"
else
the value of the expression is "e3".
The value of a "true" logical expression
is usually non-zero [one in some
implementations, minus one in some, other
values in some), and the value of a
"false" logical expression is usually zero
(minus one in some implementations). Thus
logical expressions may be used in
arithmetic expressions, with care.
Parentheses may be used, as in BASIC, to
force grouping. Brackets are used to
indicate array subcrlpts, rather than the
14
'68' Micro Journal
double use of parentheses in BASIC and
FORTRAN.
The decrement and increment operators of C
look strange initially to BASIC
programmers. The increment operator "++"
adds one to a variable and the decrement
operator " — " subtracts one from a
variable. If the operator appears before
the variable, the variable is incremented
before using its value, and if the
operator appears after the variable, the
variable is Incremented after using its
value.
For example, the following statement:
if (n < 10) ++n;
would cause "n" to be incremented by one
if its value were less than 10, as would
the following statement:
if (n < 10) n++;
since the effect on
both cases. But, in
statement:
the following
if (n < 10) a[n++]-n;
"n" is incremented between
storing the value of "n" in a
different element of "a[] H .
the value of
uses ,
There is an option of the assignment
operator H » H analogous to the increment
and decrement operators. If the "»" is
preceded by one of the following binary
operators (call it M b"):
-. *
, I \ X, «, », *,
the compound assignment resulting from
,! b=" in the following expression:
u b= expr
is equivalent to the following expression:
u = (u) b (expr)
so that the following (commonly used)
expression:
w += 2
is equivalent to the following expression:
w » w ♦ 2
in all contexts.
The "comma" operator is used in two
contexts. The most familiar one is that of
separating parameters of a function call
or definition or of separating items being
declared. The other use is that of
causing sequential evaluation of
arithmetic expressions; the value and type
of the last expression is used as the
value and type of the entire group. It
has the following format:
(expl expn)
Although the parentheses are not a part of
the comma operator, they should always be
coded to dignify that the commas are used
in this context and not as separators.
The fact that the assignment operator may
be used in an expression leads to
programmers often confusing it with the
equal relational operator. Former BASIC
programmers must be especially careful not
to write statements such as the following;
if (c = 2)
3;
which seems natural but was probably
intended to be the following;
if (c
2) n = 3;
One hint is to write constants first,
whenever possible, in relational
expressions; then the following expression
would generate a syntax error:
if (2 - c) n - 3;
rather than compiling quietly, but perhaps
incorrectly.
OPERATOR PRIORITIES AND ASSOCIATIVITIES
One of the most troublesome "features" of
the C language is its somewhat strange set
of rules of operator hierarchy (priority)
and associativity (left to right or right
to left). The following table provides
this information, with the rows arranged
in order of decreasing priority:
OPERATOR
I ~ ++ ()
(type) * & sizeof
+ -
« »
< O > >=
! !
» +» — /- %= (etc.)
ASSOCIATIVITY
left-right
right-left
left-right
left-right
left-right
left-right
left-right
left-right
left-right
left-right
left-right
left-right
right-left
right-left
left-right
Some of the operators in this table
not in the 'natural' 1 order of most
languages. To avoid undesired ope
grouping, parenthesize heavily,
expressions involving operators of
priority, K and R does not specify
of evaluation: thus avoid expressions
as the following:
(a[n++] + n++)
are
other
rator
Among
equal
order
such
which has different Interpretations,
depending upon whether C evaluates the
expression left-to-right or right-to-left.
STATEMENTS
The C language has only a limited number
of statements, far fewer than BASIC for
FORTRAN, since C relies on function
libraries to implement all I/O and other
system interfaces. Several functions have
'68' Micro Journal
15
already been used without explanation to
avoid cluttering this explanation with
side-notes. C uses semicolons to separate
statements, whether on the same or on
different lines.
The simplest (and sometimes most
treacherous) C statement is the comment
statement. It is introduced with ,f /*" and
terminated with "*/"• Comments may
officially not be nested (according to K
and R) , although some versions of C
(including BDS and INTROL) allow nested
comments. Since C is normally insensitive
to end-of-line in many cases, a missing or
miscoded "*/" can cause large chunks of a
C program to be ignored incorrectly* The
best advice on comments is probably to
Include the termination on the same line
as the introduction.
In several cases, expressions may appear
as statements. Several instances of this
have already been shown. The primary
situations in which expressions are used
as statements include the following:
assignment
function calls
increment
decrement
compound assignment
The "if" statement is somewhat similar to
the BASIC "if" statement. Its syntax is
as follows:
if (expression) statement
if (l
.expression) statement else statement
Note that, unlike BASIC, parentheses are
required surrounding the control
expression. The interpretation of the "if"
statement is identical in C and in BASIC.
However, the use of Boolean expressions
in BASIC may not be compatible with the
definitions of TRUE and FALSE in a
specific C implementation.
The "while" statement establishes a
structured loop in which the control
condition is tested before the first (and
any subsequent) executions of the body of
the loop. Its syntax is as follows:
while (expression) statement
and it may be represented symbolically by
a BASIC sequence similar to the following:
100 if (expression) goto 200
goto 300
200 statement
goto 100
300 ♦ ♦♦
The "do" statement establishes a
structured loop in which the control
condition is tested after the first (and
any subsequent) executions of the body of
the loop. Its syntax is as follows:
do statement while (expression)
and it may be represented symbolically by
a BASIC sequence similar to the following:
100 statement
if (expression) goto 100
The "for 11 statement establishes a loop
based upon three control expressions. Its
syntax is as follows:
for (expressionl ; expression2; expression3)
statement
and it may be represented symbolically by
the BASIC sequence similar to the
following:
100
200
300
expressionl
if (expression2) goto 200
goto 300
statementl
expression3
goto 100
Note that the C version of the "for"
statement is far more sophisticated than
is the BASIC version. Its interpretation
is also different, in that it checks the
condition the first time f as opposed to
BASIC, which does not check the condition
the first time.
The "switch" statement provides a
multi-way decision scheme similar to an
iterated
if ( • • .) ... else . .
statement. Its syntax is as follows:
switch (expression)
case Cl : statement; ••»•
case C2: statement; . ...
}
default: statement:
where the "Cl", "C2", etc. represent
constants with the same type as the
expression and the "default" clause is
optional. The expression is evaluated and
matched against "Cl", "C2" ? etc. If a
match is found, that sequence of
statements is executed. If not, the
"default" sequence is executed. If a
match is found, a "break", "continue", or
"goto" is normally required to prevent
falling thru to the next case.
The "break" statement causes an immediate
exit from the innermost "do", "for",
"switch", or "while" statement in which it
appears. It functions as if it were a
"goto" statement referencing an imaginary
label just beyond the end of the
statement. Its syntax is as follows:
break
The "continue" statement causes the next
Iteration of the innermost "do", "for", or
"while" statement to be performed or the
loop to be terminated, as the control
expression dictates. Its syntax is as
follows :
continue
The "return" statement has already been
discussed. It is used to return control to
the caller of a function. Its syntax is
as follows:
16
"68' Micro Journal
return
or
return (expression)
where "expression" provides the value
returned by the function, if any. If a
value is expected, but none is provided,
the resulting value is unpredictable, tr
no value is expected but one is provided,
it is discarded.
The "goto" statement is used to explicitly
transfer program control to a label. The
syntax of a goto" is as follows:
goto label
and the syntax of a label is as follows;
label: statement
where "label" must follow the rules for C
variables and must be defined within the
same subroutine or block in which it is
used.
The "null" statement is allowed and is
useful in many cases in which a statement
is required, but is not needed, such as in
"for" and "while" statements.
The C language allows a compound statement
to appear wherever a statement may appear.
This is indicated by the use of open and
close braces ('{' and "}') delimiting a
sequence of zero or more declarations and
zero or more statements. The syntax for
the compound statement is as follows:
{
declaration! ;
//define tabsize 2000
int tab[ tabsize] ;
since the size of an array is required to
be a constant.
Another commonly-used preprocessor command
is "include". Its syntax is as follows:
//include "filename"
This causes the preprocessor to search for
"filename" in an operating-system
dependent manner, and replace the
"include" command with the entire contents
of the file, which is, of course, assumed
to contain C functions, declarations,
statements, etc. Some implementations
allow or require alternate syntax of the
"^include" statement, primarily concerning
the inclusion, deletion, or alternation of
the delimiters surrounding the filename.
SUMMARY
This chapter began a tutorial on a subset
of the C programming language. Subsequent
chapters present some of the essential
language and library elements not
described in this chapter.
The reader should be able to understand
the example below. If you have access to
a C compiler, key in the example and run
it. The only point in the example not
covered in this chapter is that "lid" in a
"printf" string constant causes a number
to be printed in decimal notation. This
will be covered in a later chapter.
declaratlonn;
statementl ;
/* Eraetosthenea Sieve Prime Humber Progran in C */
/« fro« Byte, September 1981, ?g. 186 */
statementn;
PREPROCESSOR
Most C compilers provide a preprocessing
capability which extends the compiler's
usefulness in a manner similar to that
provided by macro assemblers. Lines
beginning with "#" are preprocessor
definition lines.
Although there are many preprocessor
definition commands, only the two most
common ones are described below.
The most commonly-used preprocessor
command is "#define". Its syntax is as
follows:
//define Identifier string
//define identifier (idl,..
,idn) string
In the first case, subsequent occ
of "identifier", not in comments
:currences
or string
constants t are replaced by "string". In
rrences of
specified
"string",
»nt of the
This
for cases
the second case, subsequent occuri
"identifier" followed by the
parameter list are replaced by
modified by parametric replacemer
"idl" thru *idn" in "string".
capability is used primarily
such as the following:
//define TRUE 1
^define FALSE
//define SIZE 8190
^define SIZEPL 8191
char flags [SIZEPL] ;
main( )
int t . prime t k,count ,iter;
tfl"10 tterations\n' , J;
(iter=l; iter<-10; iter++)
print J
for(
count D 0;
for(I-0; iOSIZE; i++) f lags[I]-TRUE:
forCi-0; iOSIZE; i++)
if(flagsli])
prime-i+i+3;
while(k<-S!ZE)
}
flags Ik) -FALSE;
k+*prime;
count*count+l ;
}
}
printf ("Xd primes\n", count) ;
68* Micro Journal
17
68OOO USER NOTES
Philip Lucldo
2320 Saratoga Or to
Sharpvllfc, p\ 16190
More on the 68020
This, hopefuLLy, should finish up ray columns
on the 68020. This month the focus is more
on the internal and hardware aspects, after
last month's software emphasis on new
instructions and addressing modes. I'll
mostly just be going through the 68020
user's manual, picking out the high points.
Registers
The 68020 adds a few new registers to the
large complement of the 68000. Address
register A7 , which functions as the stack
pointer, is actually two separate registers
in the 68000» one each for the user and
system states. The 68020 has three A7
registers, with two now devoted to the
system state. These are the master and
Interrupt stack pointers. The actual
register to use is determined by a new M bit
in the status register. The reason for two
system stack pointers is to simplify
processing in multi-tasking environments.
The interrupt stack pointer (ISP) is enabled
by default after reset or after an
interrupt* The master stack pointer (MSP),
if enabled by setting the M bit, will be
active after a non-interrupt exception, such
as a TRAP call from the user state. This
enables an operating system to set up a
separate system stack for each executing
process while multi-tasking, speeding the
processing of system calLs, but use only one
stack for Interrupt processing.
In addition to the new M bit in the status
register, there are now two trace bits, TO
and Tl, Instead of the single T trace bit in
the 68000 SR. The additional trace bit is
used to only trace instructions which change
the flow of a program, like JMP, JSR, TRAP,
Instead of tracing after each instruction.
There are three registers which were
actually first Introduced on the 68010.
These are the vector base register (VBR),
and two alternate function code registers
(SFC and DFC). The VBR is used to supply an
origin for the IK table of exception
vectors, which is found at address by
default In a 68000. This allows separate
exception tables to be defined for each
process in a multi-tasking system. The
alternate function codes are used by the
MOVES instruction, which allows access to an
address space (such as user data space) not
normally accessible to the system state.
Instruction Cache
The 68020 has a cache of on-chip memory
which allows tight loops and commonly used
instruction sequences to execute without
reading the external memory. The cache is
256 bytes long, organized as 64 long words.
The cache is only used during instruction
fetches, so data references always go to the
external memory. Since actual programs
spend most of their time executing a small
number of loops, this cache can significantly
speed execution, while freeing the external
bus for use by other processors or DMA.
Two new registers control the cache. The
cache control register (CACR) has four bits
used to modify the cache's behavior. The E
bit is used to enable cache operation under
software control. The F bit freezes the
cache, so it's current contents are not
updated. The C bit is used to clear the
current cache contents. Finally, the CE
bit, along with the new cache address
register (CAAR), is used to clear a single
entry in the cache. In addition to these
software controls, there is a single input
signal, CDIS/, used to disable the cache
under hardware control.
Virtual operation
In common with the 68010 and 68012, the
68020 is capable of what is called 'virtual
memory'. With virtual memory, a user
program may be written as if it had a huge
amount of memory available to it (up to the
4 gigabyte addressing range of the 68020),
while in reality a much smaller amount of
memory is actually present in the computer.
In virtual memory, the system program
allocates some physical memory to a user
program, while keeping track of all memory
which the user thinks it has access to.
The user program Issues memory references
using addresses of memory which it believes
is available. If an address corresponds to
physical memory currently allocated to the
user program, then the user address is
translated to the proper physical address
and the operation is completed. This
translation is performed automatically by a
memory management unit (HMU) . If the user
address does not so correspond, though,
18
W Micro Journal
then the MMU issues a "page fault", which
instructs the system program to load the
referenced memory from secondary storage,
such as a hard disk. By keeping most of a
user program's memory on disk, rather than
in immediately accessible memory, a user
program can be made to believe it has nearly
unlimited resources, while keeping the
actual system memory down to some more
reasonable figure.
In the 68020, this virtual memory is
supported' by being able to suspend an
instruction in the middle of its processing.
If the MMU signals the 68020 that a page
fault has occurred, the current processor
state is completely stacked. The
information stacked includes every internal
register needed by the 68020 to determine
just where processing was halted. The
system program looks at this information to
determine the memory to be loaded from the
disk, then executes an RTE (return from
exception) instruction. The RTE reloads the
processor state, and the instruction is
continued from where it left off.
This ability to continue an instruction
after it has been halted by non-existent
memory is also useful for emulating virtual
1/0 devices. When a user program
references a particular address, which is
assigned to an 1/0 device not actually in
the computer, the system program can detect
this fact and simulate the device. Thus,
the user program never knows that the
device is not present.
Addressing and the Bus
The 68020 has loosened the constraints
governing access to memory through the bus.
In the 68000, all references to words or
long words in memory were required to be
aligned to an even byte address. In the
68020, while the restriction still exists for
instructions, It is no longer in effect for
data references. Thus, for instance, a long
word MOVE to memory may now be executed to
any byte address.
Writing or reading long word data with a
misaligned address, with a full 32 bit data
bus, requires splitting the write or read
into multiple cycles. Thus if the long word
is being stored at an address of $xxxxxxxl,
the high three bytes are first written on
the lower 24 bits of the data bus, with the
upper 8 bits to be ignored, followed by
writing the low byte on the upper 8 bits of
the data bus, with the lower 24 bits to be
ignored. To perform this operation, the
68020 supplies two output lines, SIZ0 and
SIZ1, which describe the size of the data
for the current operation. In conjunction
with the actual address on the bus, memory
must decide which data bits are actually
active, and which are to be ignored.
The 68020 also allows dynamic bus sizing.
This means that the memory connected to the
68020 may be organized as 8-, 16-, or 32-
bits wide. With each transfer, the
addressed memory tells the 68020 how many
bits it can handle at a time, using two
input lines, DSACK0/ and DSACK1/ . The 68020
will automatically split the reference so
that data is transferred using the proper
number of bits.
By combining misaligned references with
dynamic bus sizing, it is obvious that the
problem of deciding just what is present
where on the data bus can get very
complicated. Memory must be quite a bit
smarter than at present, but in exchange
the maximum flexibility in addressing is
possible.
Instruct loo Tlalog
The 68020 is equipped with a three stage
pipeline, which enables it to prefetch
instructions well before they are actually
executed. In addition, the internal
processing is divided up so that at a single
instant, one instruction might be writing to
memory, the following instruction is
performing arithmetic with the data
registers, and the instruction after that is
being decoded to prepare for execution.
This concurrency of operation, overlapping
stages in the execution of instructions,
means that instruction timing is no longer
an exact thing* Add to this the presence
of the instruction cache, so that an
instruction may or may not require an
external memory read, as well as misaligned
accesses and dynamic bus sizing. The most
that can be said about instruction timing is
now to give a best and worst case tinting,
with the average falling somewhere in
between, depending on the context of the
instruction. The difference between best
and worst case is often seven cycles or
more. With caching and overlap, some
instructions may even appear to execute in
zero cycles*
'68' Micro Journal
19
And So On, Forever More
If by now you've gotten the impression that
the 68020 is one powerful, but complicated,
microprocessor, congratulations ! You're
right on the mark* 111 cut it short here,
even though Tve only scratched the surface.
There is still the coprocessor interface,
the module call support, address space
access levels, and various new exception
types. Enough is enough, though. If you
want to know more, see the book I've been
cribbing from for the past few columns, the
68020 32-Bit Microprocessor User's Manual,
Motorola part number MC6o020UM(ADl).
On the Hone Front
Currently, I am a system programmer for a
company Involved in application programming
for various niches like financial computing.
Unfortunately, I've decided that my idea of
heaven on earth Involves working at home for
myself, doing freelance programming, possibly
as a consultant but preferably writing
programs for the general market* To that
end, I've decided to go off on my own, about
six months from now.
What does this have to do with this column?
Well, I'm not sure what kind of living can be
made from writing software just for the 6809
and 68000 using the CoCo or 0S-9, so Tve
plunked down my money and bought a
Macintosh.
Am I abandoning the S-50 and 6809? Not at
all. In fact, I am right now working on a
few projects which will, with a little luck,
do fairly well. Still, there are at least
300,000 Macs out there* It is just a little
hard to Ignore that large a user base if I
have any hope of supporting myself with
freelance software*
In addition to the sales aspect, the
Macintosh is simply a fun machine* It really
is radically different from the sort of
computer I'm accustomed to using. For one
thing, I've never done much with graphics,
which is at the heart of the Mac* The user
Interface, with the mouse and the desktop
icons, makes use of the machine a breeze*
The Macintosh is not all perfection, by any
means. I am at heart a hacker, while the
Mac is a user's machine* I don't foresee my
Helix gathering dust in some corner, since
it really helps fulfill a quite different type
of "computer experience*' In the same way,
I can easily see, say, the 68000 with OS-
9/68K doing quite nicely, occupying a
different part of the market. I don't think
that the Mac is the way to go for real-time
data logging, for instance. Also, the
Macintosh can be unbearably slow at times,
what with its small capacity (400k) disk
drives. I'm not sure that a hard disk drive
would completely solve my dislikes, either.
Anyway, these are just some initial
thoughts. I've had my Mac for all of two
days now, which hardly makes me an expert.
All the software I have so far consists of
MacPaint and MacWrite, some interesting
public domain stuff, and the Sargon III
chess program (which either plays a terrific
game of chess, or I'm much rustler than I
thought - probably both). I've got a C
compiler, which Includes an assembler,
coming in soon, so I should be able to get
some real work going*
Will this column cover only the Macintosh
from now on? No, since I really do plan on
using my Helix. Instead, expect to see a
mixture, with 0S-9/68K, the Mac, and 68000
material in general. When I do cover the
Mac, I'd prefer to get technical, since many
of you are also hard core hackers, who know
that any machine, no matter how user
friendly, can be ripped to pieces for fun
and profit (figuratively of course - I've
spent too much to trash my Macintosh just
yet).
Whimsical
Revisited
A year or so ago, I reviewed a new compiler called
Whimsical, for those of you who don't have that review, I
will repeat the description of this language. Whimsical
Is not a standard language, but It very closely resembles
Pascal In me<»y ways. The reason It Is different f raw the
standard languages. Is that It was "tailored* 1 to fit the
structure of the &8Q9 processor (and I mloht add, to
some extent, stand-alone system applications as In
controls and Instrumentation)* To quote the
Instruction manual, "The three lexdcen levels of
Whimsical are chosen to be efficiently supported by the
6 809's complement of Index registers. Also B bit
arithmetic end fast unsigned multiply are supported
directly.* 1
When 1 reviewed Whimsical previously, It supported only
Integer arithmetic (In several sizes and varieties, as It
does presently). I don't have that review In front of me
as I write this, but at the end I said something like
"Now If you only would add floating point capab II My.. *."
Well, the author of Whimsical, John Spray, of Auckland New
Zealand, has done just that. In addition, he has made
several changes that have added to the utility of
Whimsical. The floating point arithmetic Is the more or
less standard 24 bit signed mantissa and 8 bit exponent
form, giving almost 7 dljglts precision* I find this level
of precision adequate for nearly all machine control and
measurement applications*
The best new feature, however, Is the ability to
compile separate code modules which may then be Included
In programs. Each module requires a simple header that
declares the GLOBAL variables and lists the inclu d
procedures that ere to be Tobllcly" accessible, using
the keyword 'PUBLIC* 1 , end the LOCAL variables using the
keyword "PRIVATE". If the module requires access to
variables declared elsewere In a program, those variables
must be listed under the keyword EXTERNAL". This may
20
'68* Micro Joumaf
occur If you pass parameters to the procedures In the
module via GLOBAL variables-
Another recent modification was to Include alt the
normal runtime subroutines with the compiler file so that
they alt load Into memory when the compiler Is loaded-
This avoids disk searches for subroutine files during
the compile- Those that ore needed are simply copied
from memory to the output file- Because of these two
new features, I found That the compilation time Is
greatly reduced. The source code to several of the
runtime subroutines Is provided for Information, and If
you need a custom version of one or more of these, there
Is an option that causes the compiler to scan the
working disk for your customized subroutines, using
them In preference to the built In ones-
I've Included a listing of a program that contains the
procedures necessary to calculate the sine of an angle,
and a "main" program that Is essentially a test program
to allow me to '^exercise" the sine procedure to rest for
errors- The program contains the instruction to
Include the module "FIXEDIO" which contains the code
necessary to allow formatted output of floating point
numbers in a manner similar to Pascal- That is, the
procedure WRITER (for WRITE Real) Is passed the variable
name and specification for field width and dfqfts after
the decimal point, fust as In Pascal. Since the code in
riX 10 was supplied by Whimsical Developments as part Gf
a package of "library" modules, and since I have only
modified It slightly, I won't reproduce It here. You
might note the declaration of an array of REAL constants
that are used In the calculation. To my knowledge, the
only other programming language that allows this fs'£".
Compilation of the SCITEST program took a total of 18
seconds Including the time to load the compiler, get the
FIXED 10 module, compile the program and write the object
file to disk! That time Is for a 2 Mhz system. Of that
time, about 7 seconds Is used just to load the compiler,
whlcn with all the subroutines, Is now 129 sectors long.
I also tested the compile time on a I Hz system, and
found It to be 28 seconds, stlh very reasonable as
complte times go.
The compiler supports three sizes of slcned Integer
variables; SMALLINT (8 bits), INTEGER (IB bits) and
LARGElNT (32 bits), as well as the REAL data type. There
are two unsigned Integer 1ypes, BYTE and DBYTE* These
two "types always use hexadecimal format for Input,
output, and literal constants. DBYTES are of course
very useful for Address Information. There are also 1ypes
for CHAR and BOOLEAN. The data typing Is strict and
there are "Intrinsic" functions provided for each of the
type conversions- There are no automatic type
conversions- By this. \ mean that, for example .ff a
constant Is declared BYTf CR - SOD; you cannot WRITE CR
to the terminal. You must "convert" ft to a CHAR type by
using the Intrinsic function CHR as In WRITE CHR(CR>.
The function CHR does nothing other than to signal the
compiler that you haven't unintentionally used a constant
of the wrong type* Whimsical Is very Pascal like" in this
respect* This example Is not a very good one since you
could simply declare the constant as uR = CNR(SOD), and
you would have a constant of type CHAR- However, it
Illustrates the point-
Full arithmetic overflow checking may be provided at
runtime by including the optional runtime checking when
the program is compiled- Optionally, overflow may be
handled by "saturation". That Is, for example, SMALL INT
has the ranqe of -128 to +127. If the value +130 Is put
Into a SMA LINT It may be made to '•saturate" and assume
the value of +127. Normally, overflow would cause it to
assume the value -126 for such an overflow condition-
Obviously, +127 Is closer to the desired value than -126.
An error may be flagged on overflow regardless of whether
the saturation option Is In effect. Slngty dimensioned
arrays, sometimes called vectors are supported, and full
support tor sequential files Is provided-
This Is excellent software. It Is efficient and well
debugged. You will have little trouble learning it If you
have a working knowledge of Pascal and just a uttle more
difficulty If you know M C". There are a few peculiar
syntax differences between Whimsical and Pascal that
are quite obvious, perhaps purposely so that you can
distinguish this co<5e from Pascal at a glance. The most
obvious ones are the use of a percent sign {%) In the
leftmost column as a delimiter for a comment line, and
that a Procedure declaration Is terminated with an equal
sign C = ) rather than a semicolon (;) as In Pascal. The
usage seems rather natural. It Is as though you are
declaring the Procedure to be equal to the statements
that follow the header.
PROCEDURE GETCHAR=
There Is one abbreviation allowed. If you like, you may
substitute "curly braces" for B GIN and END respectively,
I r ve tried here to cover ail the Interesting and
unusual points about Whimsical with an emphasis on the
new features that have been added since the previous
review. I'm sure Pve overlooked some and valuable
feature somewhere, and that you readers and/or John
Spray will Jet me know after reading this-
Review by: Ron Anderson
Whimsical Is a product of:
Whimsical Developments
P.O.Box 47-121
Auckland, New Zealand
It Is available from Southeast Media.
(see Advertising this Issue)
FREE CALL
1-800-3 8-6800
Price: $195.00
* NOOULE fOR sine: function
NODULE SlHMDD*
KG til
PUBLIC
REAL P102 - i. 570/963;
RIAL PROCEDURE SlNtftlAL DP?*):
PRIVATE
REAL PROCE0URE POlTlREAL 0PER, REAl ARRAY TABLE; SHAu!«T COl/NT).
BCClN
POLY :- TABLE[ COUNT];
00 BEGJx
COUNT :■ 00UNT-1:
POLY ;-P0CY« OPE R*TA&UC COUNT 3;
EH0 UNTIL IOUNT-0;
€«>;
REAl PR0CE0JRE SI «1 REAL <PER>;
BEG1V
MCLEAN HE&ATlvr,
SHAlUHT IQURO;
REAL QUADRANT.
RtAL ARRAY SIN G0EFF-C 1.0. -0.1666666, B.mj3*E-C3,
-1.98S2E-04, 2.82551-06. -3.7E-08).
IF OPEROO.O TtfEN
8EG1*
QUADRANT :■ FLOAT ( 1NTI0PCR/PI02) >;
QPER:- 0PER-0UADRAKT * Pt02.
1QUAD :■ TRlHtTRlKlFltlOllWRWT)));
1QUAD :- 10UAD MOD 4;
NEGATIVE -■ IQLM>2 OR IQLfAD ■ !;
IF I0UAO-1 OR IQUA0-3 THE* 0PER :- P]02 - 0PER;
SJN :- OPER ■ POlV<0PER»0PER,SU COEFF.S);
IF Nfj&ATIvE TKEN SIX :- -SIN:
CNOt
EN0;
[NO.
* ATTEMPT AT SCJ PACKAGE IN tfHWSlCAl
'ORIGIN - (S0D00);
"STACK - <$B0FF);
BEGIN
REAL NUMBER, EXPONENT;
NOOULE S 11*00 - C00E FROM "SlNMOO.NOO.l*:
MODULE FUE010 • C00E FROM 'FllEOlO.NOO. l\
* MAIN PROGRAM HERE
00
BEGIN
mlU "IMPUT ANGLE FOR SINE FUNCTION {RADIANS)'
READ NlfU€R;
MLf;
NRtTE "SJNE IS ";
HRITEft(SlN( NUMBER) ,». 6);
CRLF;
00
WT1L NUMKR - 0.0;
END.
68 Micro Journal
21
ADA K AND THE68000
fly:
THEODORE F. ELflERT
THE UNIVERSITY OF WEST FLORIDA
PENSACOLA, FLORIDA 32514
PART L - WHAT IS ADA?
In the ten years since the
Introduction of the 8080 as the first
really useful microprocessor, hardware
technology has advanced at a most
astounding rate. While this rapid
advancement In hardware capability originally
held promise of making software development
easier, just the opposite effect was noted.
As the computational power of computers
grew, the applications grew in
proportion ~ with the inevitable result
that software development became the
critical shortcoming of the industry. For a
number of years, software technology — in
the form of the emerging field of software
engineering — grew at a pace much slower
than that exhibited by its hardware
counterpart. Part of this effect was due
to the characteristics of existing
programming languages, in that their design
did not directly support many of the
software engineering practices being
developed as solutions to the software
problems. Within the Department of Defense
this trend was becoming increasingly
evident, in the form of software that was
very expensive, and yet was unreliable.
Spending more money on software was not
the answer, since reliability of software
seemed nearly independent of the cost.
In addition to the computers getting
more powerful, they were also getting less
expensive. When compared with the cost of
software — which, being labor intensive,
steadily increases in cost — the decreasing
cost of hardware produced an overall system
cost with a constantly increasing software
component. When life-cycle costs were
considered, the effect was even more
pronounced, since poor reliability was
making software maintenance a major factor.
In the mid l97CTs, the Department of Defense
embarked on the development of a
programming language that would support and
encourage the use of modern software
engineering concepts such as abstraction,
information hiding, and modularity. The
result is the Ada programming language,
established as an ANSI standard in February,
1983. Since that time, several Ada
compilers — some of them with associated
work stations — have been developed. Many
of these compilers target the Motorola
68000 family of microprocessors, and many of
the work stations are 68000 based. In this
series of articles, the salient features of
the Ada language will be presented, and the
role played by the 68000 family of
microprocessors in the developing Ada story
will be investigated.
The United States Department of
Defense is the worlds largest user of
computers. The mounting problem of
software development was of critical concern
to the Department for two reasons. First,
of course, is the fact that software
reliability directly affects weapon system
reliability — a critical concern to defense
planners. The second reason involved the
ever present budgetary consideration —
software costs were becoming the principle
factor in computer system costs, and
computer systems costs were becoming an
appreciable part of the overall cost of any
modern weapon system. Coupled with the
fact that — no matter what the cost —
software was not performing reliably, these
considerations prompted a move on the part
of the Department of Defense to actively
counter the alarming trends in software
development. To properly present the
problem as It existed at the time, it is
necessary to digress slightly and consider
what is meant by the term embedded computer
system.
Embedded computer systems are usually
defined to be those computer systems that
constitute part of a larger system whose
primary function is other than
computational. In the case of the
Department of Defense, the application is
clearly to weapon systems and other military
uses, but the general concept of an
embedded computer system applies equally
well to process control, to communications
systems, and to many other non-military uses
of computers. Within the Department of
Defense, and in other areas as well,
embedded computer systems generally have the
following characteristics:
- Programs tend to be large, on the
order of tens of thousands or even
hundreds of thousands of lines of code.
- They are In service for extended
periods, perhaps up to twenty
years .
- They must be f ault -t ole r an t ,
recovering from faults or gracefully
degrading to a lower level of
performance. This includes software
response to exceptions in the
22
68' Micro Journal
processing.
- They undergo continuous field
changes, including software updates
due to design improvements or changing
operational requirements.
- They must have high reliability, both
in hardware and in software.
- There are usually physical
constraints in terms of hardware size
or processing speed, implying a
requirement for efficiency in the
software.
There is usually a requirement for
concurrent processing.
Input-output requirements are
usually specialized.
There is usually a requirement
for real-time processing, in that
the system must respond to physical
stimuli in real time.
- There is normally a host-target
relationship, with software
development taking place on a large
host computer equipped with
ample peripherals and with software
development tools, while the
actual application is to the embedded
target computer containing
only those features necessary for
mission functionality.
It was the embedded computer system
that was targeted by the Department of
Defense in its effort to improve the quality
and reduce the life-cycle cost of software.
The reason for this orientation was the
observation that software life-cycle costs
were becoming a major contributor to overall
systems costs, and that the cost of
software maintenance was often exceeding
that of initial software development.
Studies conducted in the mid I970"s
indicated that software developed for
Department of Defense embedded computer
systems was often non-responsive to user
needs, tended to be unreliable in spite of
high cost, was inflexible and difficult to
maintain, and was not portable or reusable.
In particular, programs written in assembly
languages — by their very nature — were
not portable and were difficult to maintain.
The first step towards effecting some
control over the software problem was the
issuance of two directives:
DOD Directive 5000.29, April, 1976 -
required the use of a DOD approved
high order language in defense systems.
This directive essentially prohibited
the use of assembly languages,
DOD Directive 5000.31, November, 1976 -
reduced the list of DOD approved high
level languages to seven
- FORTRAN - SOL/1
- COBOL - JOVIAL J3
- TACP0L - JOVIAL J7 3
- CMS-2:
These directives put an end to the use of
assembly language — although waivers could
be obtained for justified reasons — and,
perhaps more importantly, curtailed the
proliferation of high order languages.
The second step in the process was to
determine just what characteristics a high
order language for embedded system
programming should exhibit. While it was
recognized that a programming language is
neither the cause of nor the solution to
software development problems, it was also
realized that a language can promote the
application of the sound software
engineering practices that were seen as the
best approach to the solution of the
software problem. These desired
characteristics were compared to existing
compiler design technology — in order to
ensure feasibility — and the results were
incorporated into a set of language
requirements. The requirements document
went through three iterations, aptly named
STRAWMAN April, 1975
W00DENMAN August, 1975
TINMAN June, 1976.:
The TINMAN requirements were compared to
existing high order languages, with the
following conclusions:
- None of the existing languages
met the requirements.
- A single language that met the
requirements could be developed.
These conclusions formed the conception of
the Ada Language. Further refinements of
the requirements documents,
IRONMAN January, 1977
STEELMAN June* 1978
were Issued, the latter becoming the design
goal of the language development effort.
The actual development process began
with the request for proposal, Issued in
January, 1977. The bidders were instructed
to begin with a base language, selected from
a group of three:
Pascal
ALGOL 68
PL/1.
The language development proceeded as a
two-phase competitive effort, with four
contractors selected for the first phase
and the field narrowed to two for the
second phase. The final result was based
on the STEELMAN requirements, was based on
Pascal as the base language, and was the
'68' Micro Journal
23
product of the French firm Honeywell/ Bull.
The final language design represented
the culmination of six years of effort on
the part of the Department of Defense and
is contractors. There were five refinements
of the technical requirements; there was
scientific cooperation among military,
industrial, and academic communities
unprecedented in any previous language
design effort; there was an integration of
international interests, with
representatives of fifteen countries
involved; and the design process was open to
continuous public scientific scrutiny. The
Ada language was developed to meet specific
design requirements, making it the first
language to be designed using well defined
principles of software engineering.
The only tangible result of the design
effort was a document — the Reference
Manual for the Ada Programming Language ,
normally referred to as the LRM. There was
no compiler — only the LRM, the language
standard with which compilers must comply.
Since the LRM was published, several Ada
compilers have been developed, both under
government contract and through funding by
private industry. To date, the number of
stands at seven, with new announcements
occurring at an increasing pace.
The name Ada was officially applied to
the new language in 1979. The name is not
an acronym, as are COBOL and FORTRAN, but
rather it is a proper name — as is Pascal.
The name was chosen to honor Ada Augusta,
Countess of Lovelace (1815-1852), only
daughter of the romantic poet Lord Byron
and Lady Anabella Milbanke. Ada was a
mathematician who, at an early age, became
fascinated with Charles Babbage"s difference
engine — so much so that she spent the
rest of her short life involved in Babbage's
work. She is recognized today as the
worlds first programmer.
The early proliferation of high order
languages had a second, more subtle effect
on software development. The greater the
number of languages supported, the fewer
software tools — debuggers, full capability
editors, etc. — were developed, simply
because of the dilution of resources. It
was recognized early in the development of
Ada that the adoption of a single high order
language would make possible a standard
support environment. A sequence of three
documents outlining some technical and
managerial issues of an Ada Programming
Support Environment (APSE) were Issued,
under the following names
SANDMAN
PEBBLEMAN
STONEMAN
July, 1978
December, 1978
February, 1980:
The STONEMAN document provides criteria for
assessment and evaluation of APSE designs,
and offers guidance for APSE designers and
implementers.
The purpose of the APSE is to support
the development of Ada software, and to
support the maintenance of that software
throughout its life-cycle. The three
principle features of the APSE are:
- The data base, which contains all
information associated with a
software project throughout its life-cycle.
This data refers to both technical and
management Issues.
- The interface, which includes a
control language for access to
the data base and to software tools in the
toolset.
- The toolset, which includes
software tools for program
development, maintenance, and configuration
control.
Also addressed by the STONEMAN requirements
is the portability of user programs and
software tools. By providing a standard
support environment, the portability of a
critical asset -- the programmer — is
enhanced.
In order to ensure the portability of
Ada software, the Department of Defense is
quite insistent that no subsets or
extensions be permitted. This control over
the language was accomplished by
copyrighting the term Ada, which was done in
1981 with registration number 1,179,900. In
December, 1980, the LRM was approved as a
military standard — MIL-STD-1815 — and in
February, 1983, after a massive coordination
effort and some slight modification, it was
approved as an ANSI standard. In order to
meet th ANSI standard, or to qualify for
permission to use the copyrighted term Ada,
a compiler and its associated run-time
support system must properly compile and
execute a test suite of nearly two thousand
separate tests. A compiler that satisfies
this requirement is said to be validated.
Compilers must be re-validated annually.
The Ada Joint Program Office (AJPO),
within the Office of Undersecretary for
Research and Engineering, U.S. Department
of Defense, was established in December,
1980, and was charged with promotion of the
Ada Language. Since that time, the AJPO
has assumed several responsibilities, one of
which is the establishment of the Ada
24
68' Mk*o Journal
Validation Office, tasked with the validation
of proposed Ada compilers.
After having spent six years in the
development of a state-of-the-art, high
order language that holds promise of vast
economies in software life-cycle costs, the
Department of Defense initiated a systematic
approach to the promotion of the language.
The establishment of the Ada Joint Program
Office was the first step, but decisive
action was required in order to bring the
three services and their contractors into
the process. A draft revision to DOD
directive 5000*31 was promulgated in June,
1983:
Directive 5000.31 (revised) June 1983 -
requires all software for mission
critical systems to be written in an
authorized language, of which there are
five: Ada, JOVIAL, FORTRAN, COBOL, and
ATLAS. The Ada Language is specified
as the single, common, computer
programming language for Defense
mission critical applications,
effective January 1, 1984, for programs
entering advanced development and July
1, 1984, for programs entering full
scale engineering development. Waivers
are permitted on a specific system or
subsystem basis. COBOL is to be used
only for business or administrative
applications, but consideration of Ada
for these applications is required
where appropriate for machine-
independence.
Mission critical computer resources —
referenced in the above directive — are
defined in accordance with 10 U.S.C. 2315
(the Warner amendment) and include computer
resources used in the following:
- intelligence systems
- cryptologic systems
- military command and control
systems
- weapon systems
- other applications critical to the
direct fulfillment of military or intelligence
missions.
Given these considerations, there should be
no doubt about the intentions of the
Department of Defense with respect to the
future of the Ada language.
The infusion of a new, more capable
programming language into the software
development process will not, in itself,
solve the basic problem of poor quality
software. What is required is the
incorporation of modern software engineering
concepts into the design itself; the Ada
language was designed with these concepts
in mind. It remains to develop
methodologies that exploit the full
capabilities of the language.
In late 1982, the Department of Defense
announced its Software Initiative, a program
intended to exploit the advantages of
computer technology through software. The
Software Initiative complements hardware
initiatives within DOD, principally the Very
High Speed Integrated Circuit (VHSIC)
program — which holds promise for greatly
improved hardware performance through the
use of sub-micron feature size semiconductor
technology -- and the Defense Advanced
Research Project Agency (DARPA)
supercomputer project. Simply stated, the
goal of the initiative is to improve software
productivity while achieving greater system
reliability and adaptability. To obtain its
stated goal, the Software Initiative will
focus on three major objectives:
- improving personnel resources
- increasing the power of software tools
- increasing the use of software tools.
The Ada language development represents a
base upon which the initiative will be
developed. Through the efforts of the
Initiative, the full capabilities of the
language will be exploited.
Two other facets of the Software
Initiative have emerged. In November, 1984,
Carnegie-Mellon University was selected as
the site of the Software Engineering
Institute, established by the Department of
Defense to serve as a focus for applied
research and technology transfer within the
initiative. One of the primary
responsibilities of the institute will be the
development and integration of workstations
into the software development environment.
There will be a significant emphasis on
knowledge based artificial Intelligence
support systems, and on design
methodologies.
The second development was the
initiation of the Software Technology for
Adaptable, Reliable Systems (STARS) program
within the initiative. The STARS program
will target improvement in the acquisition,
'66' Micro Journal
25
management, development, and support of
software for military systems.
Ada has not been without its critics.
Because the language design was a process
open to public scrutiny, there was
considerable criticism leveled against the
design at various stages of development.
Most of this criticism concerned the
complexity of the language, and suggested a
powerful subset with specially designed
extensions. Many critics expressed their
views when the ANSI standardization was
undertaken, and again the question of
subsets was predominant. Extensions and
subsets, of course, were counter to the
design goals of the language. In the end,
the Ada language remained as a unique set
of language requirements, with no subsets or
extensions permitted.
Ada is considered by many to be the
language of the future — at least, of the
near future - - not only for military
computer systems, but also for commercial
and industrial applications as well. It is a
state-of-the-art, general purpose language
that provides a rich set of capabilities for
use in the application of modern software
engineering techniques. It has the full
support of the Department of Defense, both
through the protection of the integrity of
the design and through the support
represented by the Software Initiative, It
is a language tailored to the
characteristics of modern hardware.
The Reference Manual for the Ada
Programming Language may be obtained from
the Superintendent of Documents, U.S.
Government Printing Office, Washington, D.C. ,
20402 as the ANSI/MIL-STD-1815A-1983,
Ada is a registered trademark of the U.S.
Government (Ada Joint Program Office).
NEXT: The Characteristics of the Ada
Language,
" References:
1. "Reference Manual for the Ada
Prog ramming Language" , ANSl/MIL-STD-
1815A-1983. United States Department of
Defense* 1983.
2. "Requirements for Ada Programming
Support Environments", U ♦ S .
Department of Defense, "STONEMAN", February,
1980,
BASIC OS-9
by Ron Yoigts
NO PERMISSION
I remember when I was a little tyke, I
had to get permission from my mother to do
something. Many times I would try
something without asking and find I would
get In trouble. My mother would scold me
and tell me I had. "No PERMISSION!" So
here I am 30 years later, from time-to- time
when working with OS-9, I get "NO
PERMISSION!" No, it's not mother. It's OS-
9 letting me know that a files attributes
do not give me access to them.
I usually run Into this problem when I
get a new disk with some OS-9 software. I
do a DIR on the new disk and see what's
available. If everything 1s 1n upper case,
I assume they are directories. So I DIR
them too. Somewhere down the line I get
the message:
ERROR #214
-NO PERMISSION
My experience has taught me that this must
be a file. (By the way. It 1s best to put
directories 1n upper case and leave files
1n lower case. It avoids confusion later
on.)
All files and devices have attributes.
Their attributes determine 1f they are a
directory or a file. If they are
shareable. And who has what kind of
access. The attributes and their
abbreviations are:
d directory
s shareable
pe public execute permission
pr public read permission
pw public write permission
e public execute permission
r read permission
w write permission
A handy command to use Is ATTR, which
Is found In the execution directory. It
has two variations, if you enter:
0S-9:attr fTy_file
r wr
it looks up the attributes for my file and
reports them in the second line, "They are
reported in the same order I listed them
above. This response means that I can
read and write to my file. Another user on
the system can read "the file, but not write
to it. The other way to use it is to
follow the command line with changes to the
file's attributes. The line:
26
'68' Micro Journal
0S9:attr myflle pw -w -r
wr
adds public write permission, but removes
my read and write permission. If you add a
-a to the option 11st 1t will suppress
printing out the files changed attributes.
Using a -d, win demote a directory to a
file. But not the other way around. If
you want a directory, you'll have to use the
MAKDIR command which makes new
directories.
On a rnultl user system ATTR can be very
useful. You can make files available for
public use or restrict them for personal
use. You may want to make a file only
public read and so that anyone can read 1t,
but stni protect 1t from being altered.
An accounting file may be given only public
write, so employees can put data 1n, but
not be able to read your business'
finances.
What good 1s this for someone with only
one terminal? At home 1f your entire family
uses the system, everyone can have their
own user ID number. They can change their
files' attributes to however they see fit.
Some files might be private and others be
shared with the family. If you're the only
user, you may still be Interested 1n
changing your files attributes. You could
give a file only read access, to avoid
Inadvertently writing to 1t and destroying
Its contents.
Two other things should be mentioned.
First even 1f you don't think you'll use
ATTR, 1t 1s wise to leave 1t 1n your
commands directory, /DO/CMOS. Some of the
other commands may need 1t. DELDIR for
one uses 1t. The other thing 1s when you
purchase new software. Most companies are
pretty good about setting up the
attributes. But 1f you should have a
problem running a new program, you might
check Its attributes.
LET A PROFESSIONAL HELP YOU
SORT THINGS OUT
In last months column 1 talked about
sorts. Creating a sort procedure can be
fun. It can also be time consuming and
discouraging. Consider what you have to
do. You have to get the file. Then you
must decide on some algorithm for sorting
1t. You have to consider memory and disk
space. Another 1s Its complexity. Do you
want to sort on multiple keys? Plus are
there any frills like adding up categories.
Finally how do you want to write 1t back to
the disk. Getting the results you want
can be a programmer's nightmare.
The program presented last month was
called "qsort". It would sort a file of up
to 100 lines, with the maximum line length
of 80 characters. The sort used a quick
sort method. I won't go Into the actual
workings of the sort. I will say that
developing the method for the sort was a
challenge. Even more of a challenge was
debugging 1t. The sort worked fine until
the files to be sorted got to be large.
Then when I ran the sort, 1t would go off
to "never-never land". After evenings of
hard work I found the problem. Whenever
two Identical records were compared, the
program would go Into an endless loop
trying to find the larger. Creating the
sort took a lot of time. And yet by most
standards, "qsort" was a simple sort.
If you want to sort files and don't
want to spend a lot of time writing the
sort routine, you might give thought to a
"canned" program. The JBM Group has one
package called SORTC. This 1s a sort that
runs on Bas1c09 or Runb. While many sorts
are limited to available memory, SORTC can
use both memory and disk space, depending
on the size of the sort. It has no
restrictions on the amount of data to be
sorted or the number of keys to be sorted.
SORTC can also sum fields as 1t sorts.
Sorting on multiple keys makes 1t very
useful. Some years ago I wrote a general
ledger program. Each record 1n the
program contained the date paid, the
category, to whom 1t was paid and the
amount. Being able to sort files for the
ledger would have been very handy. For
example, a file containing home budget
Information could first be sorted by
category. This would be the main key.
Records would be sorted according to food
expenses, contributions to charities,
medical payments and so forth. The second
key could be to whom money was paid.
Under the medical category payments to the
doctor would be together, the dentist
together and so on. A third key could be
the date paid. Under doctor payments the
dates would be sorted 1n ascending order.
Now looking up a particular payment be fast
and easy. First look up the category, then
the name and finally the date. What could
be faster and easier?
Another feature of SORTC 1s 1t can sum
fields for a particular key as 1t sorts.
Using our example from before, The main key
can still be category and the second key,
to whom paid. This time the sort sums the
fields as 1t works. The result 1s a sum
for each category-name 1n the file. Under
the medical category, payments to the
doctor would be totaled, payments to the
•66' Micro Journal
27
dentist totaled and so forth. It can also
sum more then one field.
One thing should be mentioned, SORTC 1s
a set of subroutines. You write the
Bas1c09 procedure that uses SORTC to sort
your files. This can have mixed blessings.
It forces you to write the Input/output
routine for your sorts. You must also
pass the records to and from SORTC by
GOSUB's. On the positive side you have
greater control over the sort. You can
customize to your particular needs. You
have contact with the data before 1t 1s
sorted, so you may want to do something
special with 1t.
One other thing SORTC 1s made to
handle records of fixed length. In
Bas1c09, these may have been created with
the TYPE declaration. GET and PUT
statements are used to read or write
files. The problem with this 1s many times
files are made up of records of varying
lengths. It 1s easy to use the OS-9 editor
to build files of simple lists. Such lists
might Include the members of your computer
club, valuables 1n your house or perhaps
some collection. I decided to attack this
problem. The solution would be to Input a
line from the file, convert It to a record
of fixed size and give 1t to SORTC. Later,
after the sort, the record would be
returned to as a simple line to the file.
The listing at the end of the column show
my solution.
The program 1s named simply enough,
SORT. It expects two parameters to be
passed to 1t. They are the source and the
target files' names. The TYPE and DIM
statements are used to create a complex
variable, r.Hne. R.Hne 1s a string of 80
characters. The reason for using a
complex variable Instead of a standard
string will soon be apparent. Next a path
1s opened to the source file and lines are
Input from 1t to r.Hne. The procedure PAD
1s used to add trailing spaces to the
string. It does the opposite of the
Bas1c09 command, TRIMS. Next azu.charzu
1s set equal to r. This 1s Interesting.
R.Hne 1s a string. Azu.charzu 1s a
complex variable of 80 bytes. It can't be
set equal to r.llne, but 1t can be set
equal to r, which looks like 80 bytes. (By
the way, this 1s one way to set unlike
variables equal. Who said you can't mix
apples with oranges.) A GOSUB 30 passes
the string to SORTC.
+
A GOSUB 34 tells SORTC to do the
sorting. The little ON ERROR routine
deletes leftover files from a previous sort.
If the file doesn't exist an error occurs.
The program goes on to line 100 and
program execution goes on without a hitch.
The final part of the procedure
creates the new, sorted file. R 1s set
equal to bzu.charzu, which Is the sorted
record from SORTC. The record 1s written
to the new file. A GOSUB to 25 gets
another record. As long as funozu 1s not
equal to 2, there are more records. When
1t does come back a 2, the sort 1s
finished. We close the file and end.
The procedure PAD 1s another way 1n
which variables can be changed. A string
of 80 characters 1s passed to PAD. It
receives 1t as a byte array of length 80.
The WHILE... DO loop searches for the end
of the string, which 1s 255 ( that's a hex,
$FF). Starting at this point the remainder
of the string 1s filled with spaces. (A
space 1s hex $20.) A routine like this
good anytime you want to pad a string.
If you look at SORT 1n the listing,
you're probably wondering where are the
numbers for all those GOSUB's. They're
added later. In fact 1f you write this
program, when you exit 1t, 1t will probably
give you half a dozen error messages. One
message you'll get a lot 1s #074, that's an
Undefined Line Number. Don't worry! JBM
Includes a program called SOTCGEN. You
give 1t your specifications, like record
size, the number of keys, do you want to
sum fields and so forth. SORTCGEN then
adds the necessary subroutines. Each line
number is for a particular subroutine.
Briefly they are:
LINE SUBROUTINE
10 Initialize sort
30 Pass records to sort
34 Start actual sort
25 Receive records from sort
After SORTCGEN 1s run, the procedure
should be error free. If It Isn't, 1t r s
N back to the drawing board" (or 1n our case
the video terminal).
If you do have SORTC or are planning on
getting, I think you'll like SORT. To use
It, 1t 1s best to pack 1t first. Then
enter
0S9:sort(V11eVsortf11e")
You can use any names you like that are In
your working directory. If they are not,
be sure to use the full path name.
26
'68' Micro Journal
If writing your own sort routine still
doesn't appeal to you, good news! The JBM
Group has another solution. They also
make a sort routine called GENUS. It 1s a
stand-alone sort system. It doesn't need
any other utilities or languages.
(Remember SORTC needs a Bas1c09
environment to run.) It 1s written 1n C
language and compiled Into object code
that can called from your commands
directory, /dO/cmds. GENUS does everything
SORTC does. GENUS can also handle variable
length records so you won't need a program
like this months program SORT.
If you are Interested 1n sort routines
you might consider these two sorts. If you
want to write your own routines and add
your own whistles and bells, you might
consider SORTC. If your looking for a
good, all purpose sort routine at a
reasonable price then GENUS Is your sort.
Well that raps up another month. Take
a look at the listing for SORT using the
JBM subroutine SORTC. There are a lot of
interesting features. It shows how to
equate unlike variable types using the
Basic09 commands TYPE and DIM. You might
find other uses for procedure PAD. It's
good for adding spaces to a variable
string. Also start looking at your files'
attributes. Not much thought is given to
them, but they are a very Important part of
your files. Until next time, have fun!
PROCEDURE sort
(* this routine w<11 sort a file *>
(* with line of varying lengths, *)
PARAM file l.ffle 2:STRIHG[32]
TrPE recor?-lfne:TTRIN$U0]
DIM r:rccor4
DIM InpatJi.outpeth: INTEGER
(♦ read t*e file to be sorted •)
OPEN #1npatri,f11e 1:R£A0
€0SUB 10 \REM Initialize workspace
VHIIE *OT{E0f(#1npath)} DO
READ #1npitri,r.l1ne
RUN pad(r.lfrw)
axu.cfctrzut-r
fiOSUB 30 \REH five record to sort
EIOVHIIE
CLOSE Unpatri
I* start Jta's tort routine *)
SOSUB 34
(♦ delete i»\y old sorted files *)
ON ERROR GOTO 100
DELETE flit 2
100 ON ERROR
PROCEDURE pad
(* this routine will add trailing
(* blanks to a string
PARAA 5(80): BYTE
DIM 1: INTEGER
QIH t: BOOLEAN
(* look for tlve end of the string
(• and add spaces 1f neccessary
1:-1
tr-fALSE
WHILE K-80 00
IF s(f)»?55 THEM
t:«TRU£
ENDIF
IF t»TRUE THEN
ENDIF
1:-U1
ENONHILE
END
(* we write an output file *)
CREATE #otitpatfi,f11e 2tWRITE
WHILE funozu<>2 00 TfcEM Z Deans eof
r:«bzu.cherxu
r.l1ne:*TRlKJ(r.M*e)
WRITE #oulpath,r,11ne
GOSUB 25 \REM get another Hne
ENOWHILE
CNO
CoCo User Notes
A Word From A Sponsor or Two
— or — by Carl Kann
A Fast Fling Around CoCo'8
Garden of Delights
Let's make this column short and
sweet. First some reviews, then some news,
and then a little "how to use". Here
goes- ♦ .
First review: the Uninterrupted Power
Source by Dynamic Electronics, Box 896,
Hartselle, Alabama. 'Phone is (205) 773-
2758.
The UPS is a dandy idea. Those of us
who use low-end, high-performance micros in
an industrial environment will especially
appreciate what the UPS does for data
reliability. As it happened, 1 had lost an
entire section of a machine manual 1 was
composing the day before the test unit
arrived via (appropriately enough) UPS. I
installed the device the very next morning.
The UPS consists of a 6 volt, 2.6
ampere-hour sealed rechargeable battery.
It measures 5 1/4 inches wide by 2 5/8
Inches high byl 5/16 inches thick. A
compact voltage and charge-rate regulator
is attached to its "top" - that is, to the
surface from which the terminals protrude.
A cutout switch (to allow the user to
power CoCo down) and a "system active" LED
are also wired to the unit. Lead length is
just right.
The UPS performed exactly as advertized
in my old grey CoCo 1. 1 found that 1
could, for example, unplug the machine
(with wordprocessor and text Installed) for
up to an hour and a half, plug the machine
back in, and return to editing as though
*j nothing had happened. It was wonderful!
The battery fit under my "chiclet" keyboard
just fine, too.
Ah, but that's the rub. 1 up and
*} spent eighty-odd clams for a new keyboard.
Guess what had to be removed to make room
for the new keyboard? Right - the UPS.
Darn. Then I dropped the new keyboard
across the gap between the exposed 110—
volt points on my faithful old beast's power
supply and her CPU. (That'll teach me to
follow my own rules - thank God my disk
controller wasn't plugged inl) Blew every
chip on the board. Had to drag out my
reserve unit - a beige CoCo 2 with a
different keyboard. Sure enough - the UPS
wouldn't fit at all under the keyboard of
the new unit. Tough luck. It was a bad
day, anyway.
Ratings: In "D", "E" t and TDP-100 CoCos,
a 99* The unit is well-constructed and
68* Micro Journal
29
should last as long as the machine It's
Installed in. It Installs easily and fits
{albeit tightly) under the keyboard as it
should. CoCo 2 owners: for you, maybe 50*
If you are clever and careful, the UPS
could be mounted in a project box, and
connected via a BNC or similar locking
connector to your machine's power supply.
The convenience of having a pre-englneered
module to work with might just make the
purchase worthwhile.
And now, gather 'round, friends.
Riddle me this - what runs on a Color
Computer, is a genuine creative tool, and
is NOT a new wordprocessor or the latest
megawhlzbang programming language from the
Zarneywhoop Group? Well, whatever you
guessed, it's probably wrong - unless you
guessed the Spectrua Adventure Generator
from Spectrum Projects.
So what does an Adventure Generator
do? Think of it as the link between your
fingers and a universe of your own
creation. The Adventure Generator enables
you to compose an infinite variety of text
adventure games (in MACMINE LANGUAGE, no
less!) which may be saved to (and run from)
either tape or disk. This is done through
a number of BASIC source code generators
and a machine-language runtime package
which is united with the composer's code at
the time of compilation.
The package Includes the necessary
tools with which both the traditional
silent adventures and "talkies" may be
composed. (Talkies require the Spectrum
Voice Pack or similar device and a 64K
machine.) Yes, you DO have to plan ahead
and move very carefully while using the SAG
system - but the documentation is quite
clearly written for the non-programmer.
(All you really need to know is how to
minimally use a CoCo disk drive system.)
SAG enables the user to specify up to
70 verbs (or 400 bytes, whichever happens
first) per adventure. (The average is said
to be 50.) Up to 255 rooms (2800 bytes),
510 text screen responses to the player's
input (8600 bytes), 255 objects (3100
bytes), unlimited Help Messages (well,
"nearly" unlimited ... ), and 255 general
purpose condition flags (Is the door
locked? Is the gun loaded? Is the
Creature from the Shocking Cesspool still
as smelly as before?) may be had. Up to
700 program lines may be compiled per
adventure. (8600 bytes for a silent one,
7680 for a "Talkie".)
Bulldng an adventure has always been a
complex process. SAG allows the composer
to forget about the coding and therefore
30
to concentrate on the structure of the
adventure itself. The manual strongly
encourages the beginner to acquire
systematic habits from the start. (A
wordprocessor is suggested as an aid to
creativity during this stage of the
process. I agree. Whoever said you have
to be a genius to do creative work on a
keyboard was full of hawg jowls.) You must
"lay out the scene" for the computer,
define the objects to be found along the
way, figure out what may (and may not) be
done with them, when, where, and in what
combination. You must define what words
the player may use (and the computer may
recognize). You still have to develop your
style and make decisions. The difference
is that with SAG on your side, that's ALL
you have to do- No more struggling with
tortuous if . . . then. ♦ .gosub. . . etcetera in
miles of labryn thine BASIC code. Instead,
SAG provides you with a "room-by-room"
listing (hardcopy only; printer required) of
every location in the scenario and
everything that is and can happen there-
Clear, concise, and accurate. Who could
ask for more?
I could - but you knew that already.
The manual (which is pretty well printed,
except for the sample Adventure listing,
which was too wide for the paper) deserves
better binding than the single staple in
the corner. The system as delivered does
NOT allow the compiled Adventure to be
written to a secondary drive, thus
requiring that it be written back to the
system disk. (That's quite all right for
single-drive users, of course, and the
system files themselves are written in
BASIC. I think (don't know) the whole
thing could be redone for output to a
second drive.)
All that notwithstanding, I rather like
the Spectrum Adventure Generator. It
appears to be bug-free and well thought
out. It certainly is a laborsaver as well
as a genuine creative tool. I'd rate it
about 90 overall. It could grow on me. I
don't think I'll tire of it very soon.
By the way, neither does Spectrum
Projects. In fact, the company sells a
one-time license (for $50.00) which
entitles the SAG user to market a
completed creation commercially. (Spectrum
will evaluate your product for saleablllty,
of course!) I wonder what sort of a deal I
could cut with Doug Addams to adventurlze
his "Hitch-hiker's Guide to the Galaxy"
series? It's the perfect raw material for
this sort of thing, and I won't be miffed if
someone else beats me to it... Ask your
68* Micro Journal
local library and/or bookstore. You'll see
what I mean. Tally ho!
Next item: a word about Star Kits 1
STAR-DOS PLUS (available from Southeast
Media - see Adv. this Issue) for the Color
Computer. I've been working my old grey
CoCo out with an advance copy, and I am
genuinely impressed. It is a real, live,
whizbang of a DOS. It appears to run
everything that runs under FLEX (for
example, STYLOGRAPH is right at home) with
ease. It allows any mix of 40, 80, and
Hard Disk drives up to the capacity of your
System. (Up to 255 tracks may be
formatted on BOTH sides of the platter,
assuming your drive has that many!) It
comes with a full complement of file-
handling and maintenance utilities. I
haven't used it much yet (have to buy a
bunch of disks and a new disk tub before
proceeding) but I must say this: STAR-DOS
PLUS may in fact be the best non-ROM Disk
Operating System ever to be run on a CoCo.
It's compact, powerful, and extremely
flexible. I'll keep you posted.
Last item: Spell N' Fix 2 for the Color
Computer, also from Star-Kits. I've given
the 40,000 word version a real workout this
month. I tried to use VIP Speller to
proofread the text of a technical manual I
had written, only to find out that the
dictionary didn't really have the "technical
background" that would qualify it for the
job. Spell N' Fix 2, on the other hand,
does. VIP Speller failed to recognize so
many common technical words, I wound up
telling it to ignore MIS-SPELLED words out
of sheer reflex! Then I tried Spell N' Fix
2. The difference was amazing. Its
memory-resident (and easily-edited) 200
word "core dictionary" is machine-language
fast. The 40,000 word main dictionary is
well-compressed, and fits on a 35-track
disk with room to spare. All 40,000 words
appear to be exceptionally well-chosen.
The result7 I caught and fixed MORE
ERRONEOUS WORDS with Spell N' Fix 2.
Spell N' Fix 2 is available for free
(YES! FREE!! REALLY!!!) from Star-Kts.
(See the ad in this issue.) You get a lot
more than just the simple spelling checker,
though. You actually get TWO versions of
the program. Spell N f Fix 1 is included
bacause it contains advanced features that
will be of real interest to the serious
programmer. A "bit image manual** (in
Telewriter ASCII text format) is included
on the disk, as is the 20,000 word original
Spell N v Fix dictionary that was making T em
drop their dentures long before there was
anything else available at all. Just send
in a disk to receive it all*
Well, almost all. Notice that there
seems to be a catch. Actually a few
catches. First, there is a great deal
more to Spell N v Fix than can be put into a
brief, print-i t -yourself manual. (The
manual-on-a-disk tells you as much.)
Second, the "freeware" version only includes
the 20,000 word dictionary. Third, tha
program asks you to send a contribution to
the author every time you boot it up.
Fourth, the full manual (very well printed
and bound with a lie-flat GBC spine) and
the other 20,000 words will cost you at
least fifty bucks. Fifth, there IS a way to
make Spell N r Fix 2 stop asking you for
money. (It even will occasionally do so in
the middle of a spell-checking run!) It's
in the fifty-dollar manual. And I'm NOT
telling! Why? Simple. Spell N' Fix is the
best darn spelling checker on the market
for the CoCo - and I've tried them all.
(The Shack's idea of a spellchecker is so
primitive I hesitate to even mention it.)
Spell N' Fix 2 is very easily worth the
$50.00 asking price for the 20,000 word
version alone. $75 to $100.00 would be
more in line with its features and
performance.
Comparable products running on
schizoid Big Blue machines (and their
brain-damaged clones) cost twice as much,
and don't allow half as much editing and
customization as Spell N' Fix 2. I tell
you, we've got it better than we think. (If
you don't believe me, go shopping for
computers. You'll come back home to CoCo
real fast.) Spell N' Fix 2 rates 100+ in my
little gray book. Try it. You'll come back
for more, and be glad you did.
Tip of the month. Next time you have
lots of number-crunching to do, insert an
EXEC 320 into your BASIC number-crunching
program instead of scotch-taping that silly
little piece of cardboard to the keyboard.
You know - the one that says, "DATA
PROCESSING IN PROGRESS! DO NOT TOUCH!" in
Magic Marker across its face, right? The
BASIC program will still run, but the
keyboard will be completely disabled.
(Press <RESET> to recover.) I don't know
why it works, but work it does.
It's late at night, and there's some
distance to drive before I sleep. Gotta
gol Until next month...
68' Micro Journal
31
Using FLEX/Star-DOS
by Troy Brraley
I'd like to welcome all of the ex-Color
Micro Journal readers to '68' Micro
Journal. I imagine that most of you are a
little confused about the non-CoCo coverage
that fills the rest of this magazine.
Don't panic! It is all easy to understand,
and most of It can be useful to you If you
have a disk system with either FLEX, STAR-
DOS, or OS-9.
If you don't already have one of those
operating systems, you may want to buy one*
In this series of articles I hope to
provide enough information about FLEX and
STAR-DOS to help new FLEX/STAR-DOS owners
learn how to use their systems, and also to
help prospective buyers of those systems
decide if they will enjoy using them. Ron
Voigts is writing a column on BASIC OS-9,
so I will concentrate primarily on FLEX and
STAR-DOS.
A NOTE ABOUT STAR-DOS
STAR-DOS is a FLEX compatible
operating system marketed by STAR-KITS. It
was developed with an eye towards being
able to use existing applications software
while providing some improvements over
FLEX. Any FLEX software you buy will also
run on STAR-DOS- From here on in I will
refer only to FLEX since that is the system
I use, but anything I say applies equally to
STAR-DOS, other than possibly some minor
syntax differences.
WHAT IS FLEX?
FLEX is an Advanced Operating System
(AOS). It provides a standard environment
for 6800 and 6809 based software to run
in. This standard environment Includes a
well documented set of system calls that
will allow programs written using them to
run on a variety of 68xx based computer
systems.
These standard system calls perform
the same function (open a disk file* display
a character, report an error, etc) on all
FLEX systems. While each computer may use
different input/output devices your FLEX
based software doesn't care, since FLEX
works the same on all 6809 systems. All
you (or your FLEX supplier) needs to do to
get FLEX running on a new 6809 based
machine (like the CoCo) is to write a few
input/output drivers and patch them into
FLEX.
The only requirements for running FLEX
on a CoCo is 64K of RAM and at least a
drive 0. Most any disk system will work
with FLEX since it uses no DISK BASIC ROM
routines once it is booted. I use a J&M
controller with JD0S 1.11. I have
experienced no problems using FLEX with
this system.
WHAT GOOD DOES THIS DO HE?
In plain language this means that you
can probably run any of a number of
excellent programs written for 'big' 6809
systems (GIMIX, SWTPC, HELIX, etc) on your
CoCo. This opens up a whole new world of
options for the CoCo owner. Examples of
software available for the CoCo running
FLEX Include: the DYNACALC and TABULA RASA
spread sheet programs, the STYLOGRAPH,
SCREDITOR III, and DYNASTAR/DYNAFORM word
processors, at least 2 PASCAL compilers, 2
or three C compilers, COBOL, BASIC, FORTH,
3 spelling checkers, disk sort/merge
utilities, sophisticated terminal programs,
business accounting packages, payroll
systems, and so on.
Of course this software is not free.
FLEX can be purchased for prices ranging
from (roughly) $50.00 up to $150.00. Each
implementation has its good and bad points.
The F-MATE conversion sold by DATACOMP is
the first (and, according to several
Independent CoCo software & hardware firms
that I've talked to, the best) version of
FLEX for the CoCo.
A TALE OF TWO FLEXES
There are three or four versions of
FLEX for the CoCo, but only two are in
widespread usage. These are the F-MATE
conversion from DATACOMP and Frank Hogg
Labs (FHL) FLEX. Both cost roughly the
same and seem to be liked by their owners.
Unfortunately, while FLEX is supposed
to be a STANDARD operating system, there
are a few hardware dependent differences
that can cause a few problems for existing
FLEX software. Fortunately many FLEX
software authors have special versions of
their software available for popular
systems (such as the CoCo).
The only differences I know of between
F-MATE and FHL FLEX are the video drivers
for the hi-res screen display and double
sided disk formatting. The only types of
software that bypass the normal FLEX
input/output routines for the screen and
keyboard are full screen oriented programs
such as Word Processors and Spread Sheet
programs. I am writing this article using
STYLOGRAPH from Stylo Software Inc. on a
CoCo using the F-MATE FLEX system. STYLO
32
68* Micro JournaJ
came with video drivers for both FHL and F-
MATE FLEX so I would have no problems using
it with either system. If you aren't sure
if a piece of FLEX based software will run
on your CoCo, feel free to ask your
supplier.
The incompatibility of double sided disk
formats should cause no problems since a
"standard" FLEX disk is single sided single
density with 35 tracks. Any special CoCo
versions will be sold on single sided double
density 35 track disks since that is the
"standard" FLEX/STAR-DOS format. Double
sided disks are a user option and don't
really bother software once it is running
on your computer, but you may have some
trouble sharing data files with friends
that have a different FLEX conversion if
you do have double sided disks.
WHY WOULD I WANT FLEX?
There are a few reasons why you might
wish to buy FLEX, STAR-DOS, or even OS-9.
The most obvious one is that you want to
play with an AOS. I suspect that both
FLEX and OS-9 can be equally fun to play
around with.
You may want to run some serious
business software such as a payroll or
general ledger system. There are several
such systems available for FLEX. OS-9 is
still a young operating system and it won't
have too much business software available
for at least another year or two (although
E-BASIC provides a means of running the
FLEX-Based BASIC Software under OS-9).
You might want to learn another
programming language. Both FLEX and OS-9
have several languages available. I would
choose FLEX over OS-9 in this situation
simply because FLEX runs with no trouble on
a single drive system. Unless you need, or
want, to learn Basic09, I would lean
towards FLEX.
OS-9 is a UNIX-like operating system.
Every three months or so one of the other
computer magazines (hobby or business)
devotes an issue or two to UNIX and the C
programming language. Somebody out there
feels that UNIX is the wave of the future.
If you agree with them you should get OS-9.
tfBAT f S NEXT
Next month we'll start working with
FLEX in earnest. I'll explain how I
installed FLEX on my system and give
examples of just how powerful FLEX is.
Until then. . .
by Robert L. Nay
The power of the 68000 is amply
demonstrated by its overwhelming domination
of the larger CAD/CAM and UNIX-Oriented
Computer Systems, but there has been very
little available for the individual User
that would allow him to "get in on the
Ground Floor" with a 68000-Based System in
the lower priced Personal Computer System
range. In the good-old-days, the hobbyist/
experimenters would have gathered around
an inexpensive Single Board Computer System
and, in the process of working with it,
would have developed an Operating System
and a bunch of Software to go with it.
Sadly, this did not happen when the 68000
first appeared; possibly because the
Personal Computer Industry has matured to
the point that there are few pioneers left,
or maybe due to the low number of inexpen-
sive 68000-SBC , s that were produced, or,
probably, due to a combination of both
factors. Our tastes now require at least
a Disk System, and a decent Graphics
capability is becoming a "Standard"
requirement.
There was a lot of initial interest in
the Sinclair QL Computer, as it was one of
the first to offer a "minimally acceptable"
System, but it has been delayed to the
point that most of that interest has
dissipated, and it may find it hard to
carve a niche in the Industry. Atari is
making noises about a $1000 68000-Based,
512K, Color Computer System which is now
scheduled for release in June, and there
are rumors of other similar Systems that
MIGHT show up in the next couple of years.
But at this time, Apple appears to be in
the best position to nab a large segment
of the 68000-Based low-priced Computer
Market with their "Apple 32" Product Line,
which was introduced last year.
Several factors make the Apple 68000
Systems attractive. Apple is a real
"Market Force" in the Personal Computer
arena, and is attempting to become one in
the Business area. They are large enough
to generate a "Standard" all by themselves
(witness the IBM PC Industry scramble to
copy the Apple-initiated Windows User
Interface, or the MacPaint copies). The
new Atari System will have a User Interface
similar to the Mac, and it has been hinted
that it will not be hard to port Macintosh
Application Software over to the Atari
Computer. With Apple presently gearing up
'68' Micro Journal
33
their production of Macs to 100,000 per
month, a potential Mac Purchaser Is
assured that there will be Macintosh's
around for a while, and that there will be
plenty of support for his Investment.
The major products In the "Apple 32"
Product Line presently Include the
Macintosh Computer Systems (the Apple Lisa
2 and Lisa 2/5 are being phased out, and
the Lisa 2/10 has been renamed the
Macintosh XL), the recently released
LaserWriter Laser Printer, the yet to be
released FlleServer Network Controller/File
Management System, and numerous periph-
erals that go with the overall System. In
addition, Apple has also announced their
AppleTalk Networking System, which allows
up to 32 Macs, LaserWriters, ImageWrlters,
etc., to be Interconnected at a cost of
around $50 per connection to the Network.
Does the Macintosh offer "the"
Solution? Obviously not; no single Computer
System will fill every need (In spite of
IBM's attempts to the contrary). Maybe the
Macintosh "User Interface* 4 Is not the Ideal
General-User Interface, but our experience
here Indicates that It Is MAGNITUDES better
than a powerful "Unix-like" Interface for
the vast majority of the Computer Users In
the world who have no concept of a "bit" or
"byte**, or of a "sector", or a "path",
"field", "record", and on and on. These
"Computer Users" want a Computer to SOLVE
their problems, not create more problems by
having to learn how to "think like a
Computer" to use the Operating System, or
learn a Programming Language, or be able
to use a Data Base Management package.
THEY need a Computer that "thinks like
THEY do 4 ', not one that thinks like a
COMPUTER I
The Mac Interface may be a little
frustrating to those of us that understand
Computers and LIKE the power and flexi-
bility of something like FLEX/STARDOS or
the Unlx-orlented Systems such as OS-9,
but most Computer Users need something to
allow them to get an application up-and-
runnlng with as little computerese as
possible. Why should a Business Computer
System In a small office require a
"Computer Support Section**? Why can't
Retailers In general sell a simple Computer
System to a Business Customer without
requiring MANY HOURS of explanation about
how to do this, or why you have to do that
before you can do this, etc»? Why should a
Retailer have to pass up a potential Sale
just because he knows that that customer
would not be able to use the Operating
System on the Computers that he sells; or
because there Is not a "canned" solution to
their problem (even though he knows that
his Computer System could do the job IF
they would take the time to learn the
"System" and how to use the Software that
IS available for It)?
Apple's concept with the Macintosh
Computer SYSTEM Is to provide a System
that "thinks" like a normal user, and a
System that can expand as the User's needs
grow. Rather than provide a "Smart, SUPER
Computer" that will do anything that a User
might ever want to do with a Computer
System, they are making each unit of the
System "stand on Its own". If a User does
not need a Laser Printer, why should he
have to purchase a Computer that has the
Memory and Power to develop a 300 dot/In.
drive for that Printer; why not let the
PRINTER do that, and put the "smarts" In
IT? Since most "Office Units* consist of 5
to 2 5 people working on approximately the
same thing, why not have a simple,
Inexpensive "Network" for up to 32 "high-
performance peripherals", each doing Its
own thing? The Macs would provide the
"User Interface" to the Information In the
Network; the LaserWriter could be the
Network's "System Printer". A "smart File
Server" with a 20 to 40 Meg Hard Disk could
handle such things as communicating with
Mainframe Networks and tying other 32-Unlt
Networks together, provide file transfers,
electronic mall, print spooling, file
management, and process multiuser appli-
cations when the User needed these
capabilities. The whole Apple "Office
System" concept Is built on a "pay as you
go" foundation.
There seems to be a prevailing
impression that there Is a lack of Software
Support for the Macintosh. The Immediate
reply to this statement Is; relative to
WHAT? There Is already several times as
many Programs available for the Macintosh
as there are for the whole SS-50 Bus
community. There are more, and MUCH more
useful, Programs available for the Mac now
than there was for the Color Computer, for
example, a year after IT was released.
But, obviously, there Is not as much
available NOW for the Mac as there Is for
the IBM PC, or the UNIX environment.
Apple states that there are now "more
than 300 Software Packages'* available for
the Mac. There are a few holes as of
today (for example, there Is next to no
34
€8' Mtcro Journal
fUi HS11T71 mm t¥i*y$39 mc*4$t
SPECIAL
1
Bnaaaao a a
Naa* gaa caa raa
T5C ZBH5IC Programs Compiled to Asrob. Lang.,
under 0S-9 M . CoCo 05-9. or FLEX™ roith
'S TOLL F«B TILM SSI 414 PVT ITH
1 800-338
9-6800 <JR
JfctA BAA?
% $AAIA
5900 Cassandra Smith Rd.
Hixson. TN 37343
for informellon
call (615> 842-4601
CoCo OS*9* FLEX"
S.FTaJflRE
V K— BH5IC under 05-9 and FLEX mill nouj compile
TSC BASIC, XBHSIC, and XPC Source Code Files
Iv — HHSlU now mokes the multitude of TSC NBRSIC software
ouolloble for use under OS-9, Tronsfer your fouorlte BASIC
rrogromi to OS-9, compile them* Rssemble them, ond
Q3LJEK3CD — usable, multi-precision, familiar Softmore Is
running under your fouorlte Operating System!
J& K — BHSIC (IS-9 or FLEM. H-clodln g the ASM assembler
$199.00
Limited time SIPBOAIL offer!
fc
South East media and Llogd 1/0 is offering Q&-3
4j£ K — BHSIC Compiler w/OSM Assembler AMD
— F FLEX to OS-9 Transfer Program
BOTH for * 199.95
Offer ONLY valid when ordered as a Package from South East Media
SPECI
m
ft* tic 09
tnt Mil V*V
2^ FlEI Software Jr
by Dale fruCkett — An excellent Boot on using 0S-9. Oriented
towards using the powerful latfcO* hinTr— If laeauaee. It 41 to
contains a lot of good information on *r1*f OS-9 1n general,
Jiomally 113.95
Seecial *0tf only S1S.00
TSC
TSC
TSC
TSC
TSC
TSC
TSC
TSC
"He* Utilities*
'Sort Merge*
'6609 Basic*
'I* tended Basic"
'DeBug*
'FLtx Diagnostics"
'Te*t Processing System*
'68000 Cross Assembler"
W4S
was
Wat
was
was
S7S.00,
S7S.00.
S75.00.
.100.00.
S7S.0O,
S7S.00.
S7S.00.
S2S0.00,
only
I only
I only
1 only
1 only
! only
only
ftf.OQ
*4-.«0
T4C.M
190.00
Stt.Oi
141.00
145.00
MM only 1199. 95
VtSA
A44 IX 0,1. A,
(•U. 11.30)
[A44 3X Surface -era***
10X Alt r«r«l|m
"FLEXisai*4Oem4rk0l Tmc*»TC-rf Syi***^* Con**.***
'059 is a iraOenwk 0* Mcrowore
1 1 at i 1 ** 1
V
nMjndra Smith Hrt
on. TN 37343
5) H4?-4£0l
S.FTUIfiR.
%• liability
r • FLEX, OCT - Color Computer FLE3
O • OS-9, CCO - Coior Computer OS-9
O - XMMTUm
00> ■ Color Computer M*k
OCT • Color Coup iter Tape
68' Micro Journal
111 Pf«am« Sfioicify Yonr Operating Systes 1 Disk $!*• Ill
35
HtH PISKtUEWITH i¥i*f $S0M*CHAS£
*S TOLL FRCE TELEI 551 4J4 PVT 1TH
1-800-338-6 800 jjg
5900 Cassandra Smith Rd.
Hixson, TN 37343
for information
call (619) 842-4601
CoCo OS-9' - rLRX >M
SOFTWARE
-HSSEmBLEHS]] |
ASTRUK09 from Southeast Media — A "Structured Assembler for the
6909" which requires the TSC Macro Assembler, F. CCF - $99.95
Macro Assembler for TSC — The FLEX STAJBARD Assombler.
Special »- CCF $JS,00; F $50.00
OS* Extended 6809 Macro Assembler from Lloyd i/o. -- Provides local
labels, Motorola S-records. and Intel Hex records. Can generate
05-9 Memory nodules under Tilt. FLEX, CCF, OS-9 $99.00
telocatlitg Assembler w/L1nMn« Loader from TSC.
the C and Pascal Compilers,
Use with many of
F.CCF $150.00
MAC*, by Graham Trott from ktfndrusfc Micro Attest « Co-ResTdent
Editor and Assembler; fast Interactive A.L. Programming for snail
to medlum-sfzed Programs. F.CCF - S 9ft. DO
TRUC CROSS ASSEMBLERS from Computer System* Consultants --
Supports 1802/5. Z-80. 6800/1/2/ 3/8/11/MCU, $804, 680S/HC0S/
14680S, 6809/00/01. 6502 family. 8080/5, 80*0/1/2/ 3S/C3S/39/
40/48/C48/49/CK9/50/8748/49. BOJ1/5L/8751. and 68000 Systems.
Assembler and Ifst1n9 formats same as target CPU's format.
Produces machine Independent Motorola S-Text.
FLEX. CCF. OS-9. UnlFtEX each * $50.00
any 3 - $100.00
the complete set (1iKlud1n9 tike C Souret) • $200.00
XASM Cross Assemblers for FLU from CmvouiM Ltd. — This set of
6800/1/2/3/5/8, 6301. 6S02. 8080/S. and ZBO Cross Assemblers
uses the familiar TSC Macro Assembler Command Line and Soruce
Code format. Assembler options, etc., In providing code for the
target CPU's, Complete set, FlEx only - $150.00
CRASMB from Lloyd I/O -- 8-81 1 Macro Cross Assembler with same
features as OSM. generates OSH Macros which cross-assemble to
6800/1/2/3/4/5/8/9/11. 6502, 1802, 8048/80/85, Z-8/80. Supports
the target chip's standard mnemonics and addressing modes.
FLEX, CCF, OS-9 Full package -- $»1.00
CRASMB 16. J* from Lloyd I/O — Cross Assembler for the (8000.
FLEX. CCF. OS-9 SM9.00
Add IX O.S.A.
<pla. 52.SO)
Add SX Sutfact for* I in
101 Air Port id
•FLEX is a iradomartt c4 Tecrtrecd Sysieros Consultants
*OS9 & a trademark of Microwave
DISHSSEII1BLEHS
J
SUPER SLEUTH from Computer Systems Compliant* — Interactive
Disassembler; extremely POMERFULl Disk File Blnary/ASCff
Examine/Change. Absolute or FULL Olsassembly. XREF Generator,
Label "Name Changer", and Files of "Standard Label Names" for
different Operating Systems
Color Computer
CCO (32* Req'd) Obj. Only $49.00
CCF, ObJ. Only $50.00
CCF. w/ Source $99.00
CCO. ObJ. Only $50.00.
55-50 SUS (all v/ A.L. Senrce)
F. S99.00
U. $100.00
0, $101.00
orMAMITE ♦ from Compote r Systems Center •- Excellent standard
"Batch Mode" Disassembler. Includes XREF Generator and
"Standard Label" Files. Specfai OS-9 options w/ OS-9 Version.
CCF, 0bj. Only $100.00 CCO, ObJ. Only $ 59.95
F. ' " $100.00 0. " ' $150.00
U, ■ * $300.00
FHDGHHmminG(LHnGUHGES
Pl/9 from wind rush Micro Systems — ty Graham Trott. A combination
Edttor/Compiler/Debugger. The Single-Pass Compiler supports
large Symbol Names; Variable Types; Pointers; Control Structures;
Stack, A-. B-. and D-Reglster manipulation; etc. Includes
Source-Oriented Debugger. F, CCF - $198.00
RKIMStCAL from HM"*1ca1 Oevolommoflts — How supports Real Rmmbert.
"Structured Pro9ramn1ng" WITHOUT losfng the Speed and Control of
Assembly Language) Single-pass Compiler features unified, user-
defined 1/0; produces RONable Code; Procedures and Modules
(Including pre-compfled Modules); many "Types" up to 32 bit
Integers, 6-dfglt Real Numbers, unlimited sized Arrays (vectors
only); Interrupt handling; long Variable Names; Variable
Initialization; Include directive; Conditional compiling; direct
Code Insertion; control of the Stack Pointer; etc. Run-T1me
subroutines Inserted at called during compilation. Normally
produces 101 Jess code than PL/9. F and CCF - $195.00
C Compiler from Wlndrush Micro Asians by James McCosh. Full C for
FLEX except bit-fields, including an Assembler. Requires the TSC
Relocattng Assembler If user desires to Implement his own
Libraries. F and CCF - $295.00
C Compiler from [ptrol -- Full C except Doubles and Bit Fields,
streamlined for the 6809. Reliable CoapHer; FAST, efficient
Code. More UNIX Compatible than most.
F. CCF. and - $375.00 U - $425.00
PASCAL Compiler from Lucldato -- ISO Based P-Code Compiler.
Designed especially for Microcomputer Systems. Allows linkage to
Assembler Code for raaxtmum flexibility*
F and CCF r - $190.00 F ** - $205.00
PASCAL Compiler from OmooaSoft — For the FROSTSSJORAL; ISO Based.
Native Code Compiler. Primarily for Real-Tfme and Process
Control applications. Powerful; Flexible. Requires a "Motorola
Compatible" Relocating Asmb. and Linking Loader.
F and CCF - $425.00 One Tear Malnt. - $100.00
it
t-BASIC from LLOYD I/O -- A "Native Code" BASIC Gommller which Is
now Fully TSC ZIASIC compatible. The single-pass compiler
compiles to Assembly Language Source Code {which may be
assembled by the laclmded OSM Assembler, or by the CIASMb Cross
Assemblers). Conditional assembly reduces Run-time package.
FLEX, CCF, OS-9 Compiler vita) OSM Assembler - $199.00
CJttJOCX COfJOL from ComposaftM Ltd. — Supports large subset of ANSU
Level 1 COBOL with many of the useful Level 2 features. Full
FLEX File Structures, Including Random Files and the ability to
process Keyed Files. Segment and link large programs at
runtime, or Implemented as a set of overlays. The System
requires S6K and CAN be run with a single Disk System.
FLEX, CCF; Morally $199.00
Special lecrodectory Price (while In effect! — $9t.*5
FORTH from Stearns Electronic t -- A CoCo FORTH Programming
Langua9e, Tillered to the CoCoi Supplied on Tape, transferable
to disk. Written In FAST ML. Hany CoCo functions (Graphics,
Sound, etc.), Includes an Editor, Trico, etc. Provides CPU
Carry Flag accessibility* Fast Task Multiplexing, Clean Interrupt
Handling, etc. for the "Pro". Excellent "Learning* tool I
Color Computer 04JLT - $S*.9S
X "ILL '■«
nOO 31H-6HOO
ifAT> e S
§MT Miftlft
CoCo Dl *> ' Pit* '
SflfTlflM
Hnion. TN 37343
mio te-15) Mi 460 i
AmUmhUlty
T * FLEX, CC7 - CoJar Computer FLEX
* OS-9, OCT) ■ Color Computer OS-9
O ■ UhJFU*
CO) « Color Computer Disk
CCT - Color Compter Tape
36
III Plots* Specify To»r Op«r«tl»« System i Disk Six* III
68' Micro Journal
SDrTWHHElDEVELDPmEnT^ J
Re*1c09 Xief from Somtheatt Media — TMi taslcOf Cross mtHrr*—
Utility Is a BaslcOfl Program which Kill produce a "pretty
printed" listing Kith each line numbered, followed by a complete
cross referenced listing of all variables, external procedures,
and line numbers called. Also Includes a Program list Utility
which outputs a fast 'pretty printed* listing with line numbers.
Requires B*s1c09 or RunB.
A CCO obj. only — f39.9S: W Source - (79.95
Lmcldata PASCAL UTILITIES (Requires LUC [DATA Pascal ver JJ
XHEF -- produce a Cross Reference Listing of any te*t; oriented to
Pascal Source. F and CCF - 125.00
INCLUDE -- Include other Files In a Source Text, Including Binary;
unlimited nesting capabilities. F and CCF • 52S.OO
PROFILER -- provides %n Indented, lumbered, "Structogrem" of a
Pascal Source Text File; vie* the overall structure of Urge
programs, program integrity, etc. Supplied In Pascal Source
Co<tO; requires compilation. F and CCF - 125.00
DUB from Soot toast Media -- A UmlFLEl 'basic* De-Compiler. Re-
create a Source Listing from UnlFLEX Compile* basic Programs.
Works w/ ALL Versions of 6809 UMFLEX basic. U - 1219.95
FULL SCREE* FORMS DISPLAY from Computer System* toe 1*1 1* at s — TSC
Eateeded BASIC program supports an* Serial Terminal with Cursor
Control or Memory-Mapped video Ofsplays; substantially extends
the capabilities of the Program Designer by providing a table-
driven method of describing and using Full Screen Displays.
F and CCF - $50.00, U • WS.OO
jDlSKlUTILITIES
OS-9 VDIsk from Southeast media -- For Level ! only. Use the
Eateaded Memory capability or your SWTPC or G1n1* CPU card (or
similar format OAT) for FAST Program Compiles, CMO execution,
high speed Inter-process communications (without pipe buffers},
etc. - SAVE that System Meaory. Virtual Disk size Is variable In
a* Increments up to g60K. Some Assembly Required.
-- Level I OMLT — OS-9 obj. only - $79,95; -/ Source - I149.9B
0-F from Southeast Media — Written In BASIC09 <rn1ta Source),
Includes: REFORAAT, a BAS1C09 Program that reformats a chosen
. amount of an OS-f disk to FVQ Format so It can be used normally
fMwby FLEX: and FLE1, a BASIC09 Program that doas the actual read
W or write function to the special 0-F Transfer Disk; user-frtendly
menu driven. Read the FLEX Directory. Delete FLEX Files. Copy
both directions* etc. FLEX users use tie special disk Just like
• ^ other FLEX disk. - I79.95
COPTHULT from Sootheast Media -- Copy LARCE Disks to several
smaller disks. FLEX utilities allow the backup of AH aUe dttk
to any SMALLER slie diskettes {Hard Disk to Hopples, B" to 5*.
etc.) by simply Inserting diskettes as requested by COPfPJLT.
Ho fooling with directory deletions, etc. COPVHHtT.CMD
understands normal 'copy* syntax and keeps up with files copied
by maintaining directories for both host and receiving disk
system. Also Includes BACKUP, OV to download any site "random"
type file; RE STORE, CM! to restructure copied 'random* files for
copying, or re copy In j back to the host system: and FtCELTmX. OD
as a "bonus" utility that "relinks" tfte free chain of floppy or
hard disk, eliminating fragmentation.
Commie %v1y documented Aasomftty Laftfmtft Soar cm flits leclmdtd.
ALL 4 Programs {FLEX, B" or 5") St*.SO
COPYCAT from Lacldite — Pascal HOT required. Allows reading TSC
Nlnl-FLEX, SSB D0S6B, and Digital Research CP/N Disks while
operating under FLEX l.D, FLEX 2.0, or FLEX 9.0 with 6800 or
€809 Systems. COPYCAT will not perform miracles, but, between
the program and the manual, you stand a good chance of
accomplishing a transfer. Also Includes some Utilities to help
out. Programs supplied In Modular Store* Code (Assembly
Language) to help solve unusual problems.
F and CCF 5" - $50.00 F 8" - 1(5.00
A
A4d IX Q.S
<»U. S2.30>
A44 JS |»tf«t« r«r*lc«
iOX Air r«r«l|»
•FLEX is a otdttna^ o* Tochncel Systems CortsuHtcis
"OS9 * a trodevnaik <* Mcrowaxe
f*££ 9tSK£TT£ WT* £V£M $50 WJCMSi
^ff TOLL FAtE TILKI 551 aid PVT 1TH
1 80O338 6800 g*
5900 Cassandra Smith Rd.
Hixson, TN 37343
for information
Call <«15) B42-4001
CoCo OS-9' FLIX-
SflFTUIflRE
FLEl DISf UTILITIES from Eavmettr System* CamttlteaU — Eight <$)
different Assembly Language («/ Source Codel Fitx utilities for
every FLEX Users Toolbox: Cat? a File with Cmt Errors; Toit Disk
for errors; tommere two Disks; a fast Disk lectern Program; Emit
Dltk Sectors; LlMeHre Frtt-Cba1m on the Disk; print 01 ik
[dentlffcatlta; and Strt and Replace the Disk Directory (In
sorted order). -- PLUS -- Ten XBASIC Programs Including: A
•ASIC Re sto w ca r with EXTRAS wr "REUUK" like check for mining
label definitions, processes Olsk to Disk Instead of In Me»*ry,
etc. Other programs Cmmmara. Merge, or Com rate UPdaUs
between two BASIC Programs, check BASIC Set Mace Numbers,
compare ?** tMtqotmctd files, and S Programs for establishing a
Matter Directory of several Disks, and sorting, selecting,
updating, and printing paginated listings of these files. A
BASIC Croat- Reft react Program, written In Assembly Language,
which provides §n X-Ref Listing of the Variables and Reserved
Mords In TSC BASIC, XiAStC, and PRECOMPILER BASK Programs.
ILL Utilities Include Soerct (either BASIC or A.L. Source Code).
F and CCF - SSO.OfJ
fcommunicHTions
CMOOEM Telecommunications Profram from Computer Systems
Cob ttl teats, lac. — Kenu-trlven; supports Oumb-Termlnal Mode,
Upload and Download In non-protocol mode, and the CP/H Xodemr
Chrlstensen protocol mooe to enable communication capabilities
for almost any requirement. Written fn "C".
FLEX, CCF, OS-9, UnlFLEX; with complete Source - J 100. 00
without Source - tSO.QO
IOATA fro* Southeast Media — A COMPnJIICATIOS Package for the
UafFLEI Operating System, use with CP/N. Main Frames, other
UnlFLEX Systems, etc. Verifies Transmission using checksum or
CRC; Re- Transmits bad blocks, etc. U - SZ99.99
LUTFTH
RAPIER - 6809 Chest Program from See earnest Madia — Reoulros FLEX
and Displays on Amy Type Terminal. Features: Four levels of
play. Swap side. Point scoring system. Two display boards.
Change skill level. Solve Checkmate problems fn 1-2-3-4 moves.
Make move and swap sides* Play white or black. This is one of
the streatest CHESS programs running on any microcomputer,
estimated USCF Rating 1600+ (better than most 'club' players at
higher levels). F and CCF - 179.9S
*mQmhllity I
P ■ FLE*. OCT * CoJ^r Computer FLEX
O - OS-9, CCD » CoCnr Computer OR-9
If - ItiiFLEX
CCS - Color Computer a%k
OCT • Color Computer Tape
'68* Micro Journal
Iff Pt«e>sti SpajClfy Voir OFajrtrtlMf Sfatejai 4 Disk Size*
II!
37
mt pmtrn with m*y$s* t¥*c*4te
<& TOLL FRCC THE* SSI 414 FVT iTH
1-80O-338-68O0 m
V £ftiifl
5900 Cassandra Smith Rd.
Hixson. TN 37343
for information
call (615) 642-4601
COCO OS-9* FLEX"'
SOFTWARE
«
WORD PHDCESSIDG
SPELLS "Computer Dictionary" from Semtheatt Media — Owl* 120.000
mmrdsl look up a word from within your Editor or Mord Processor
(uHh the SpH.CJD Utility which operates In the FLEX UCS). Or
check and update the Text after entry; ADD WORDS to the
Dictionary, "Flag" questionable words In the Text, "view a word
In context" before changing or Ignoring, etc. SPELLB first
checks a "Common Mord Dictionary", then the normal Dictionary,
then a "Personal Mord List", and finally, any "Special Word List"
you may have specified. SPELLS also allows the use of Smell Disk
Storaoe systems.
F and CCF - $129.95
DHTHlBHSE^IfHCCOUnTinGl
XOKS from Westchester Applied Bustotss 5** terns — Powerful DBMS;
K.L. program will work on a sfmfle sided 5* disk, yet Is F-A-S-T.
Supports Relational, Sequential, Hierarchical, and Random Access
File Structures; has Virtual Memory capabilities for Ctant Data
Bases. X9N3 Lemil I provides an "entry level* System for defining
a Data Base, entering and changing the Data, and producing
Reports. XOKS Level II adds the POWERFUL "CERERATT facility
with an English Language Command Structure for manipulating the
Data to create new File Structures. Sort. Select. Calculate.
etc. XDMS Level 111 adds special 'Utilities* which provide
additional ease In setting up a Data Base, such as copying old
data Into new Data Structures, changing System Parameters, etc.
XOMS Systen Haemal - $24.95 XDMS 1*1 I - F t CCF - 1129.95
XW5 Lvl II F • CCF - $199-95
ZOMS Lvl III - F 4 CCF - (2*9.95
ACCOURTIM& PACKAGES — treat Plaint Commeter Co. and UmfwrtaT fteta
Research, Inc. both have Data Base and Business Packages written
In TSC XBASIC for FLEI, CoCo aEI, and IM1FIEZ.
Call BOO-laeViMO for more Information
SCREOITOR III from Vtndritsft Micro Systems — Powerful Screen-
Oriented £dt tor/Word Processor. Almost SO different co*w»ands;
over 300 pages of Documentation with Tutorial. Features Multf-
Column display and editing, "decimal align" columns (AMD add them
up automatically), multiple keystroke macros, even/odd page
headers and footers. Imbedded printer control codes, all
Justifications, "help* support, store common command series on
disk, etc. Use supplied "set-ups*, or remap the keyboard to
your needs. Except for proportional printing, this package will
00 IT ALL!
6800 or 6809 FLEX or SSB DOS, OS-9 - $175.00
STYLOGRAPH from Great Plaint Commuter Co. — A full-screen oriented
WORD PROCESSOR — (uses the Si x 24 Display Screens on CoCo
FlEX/STAR-OOS. or PBJ Wordpai). Full screen display and editing;
supports the Daisy Wheel proportional printers.
SPECIAL CCF and CCO - $99.95, f or - $295.00, U - $395,00
SPELL fron Great Plains Commuter Co, — Fast Computer Dictionary.
Complements Stylograph.
SPECIAL CCF and CCO - $69.95. F or - $125.00. U - $175.00
NAIL MERtt from Greet Pities Commuter Co. — Merge Hailing List to
"Form* Letters, Print multiple Files, etc., through Stylo.
SPECIAL CCF and CCO - $59.95. F or - $145.00. U - $175.00
JUST from Southeast Media •• Text Formatter developed by Ron
Anderson; for Dot Matrix Printers, provides many unique features.
Output "Formatted" Text to the Display. Use the FPRlRT.O*D
supplied for producing multiple copies of the "Formatted" Text on
the Printer INCLUDING IHBEDDED PRINTER COMMANDS (very useful at
other times also, and worth the price of the program by itself).
"User Configurable" for adapting to other Printers (comes set up
for Epson MX-30 with Graftraxl; up to ten (10> Imbedded 'Printer
Control Commands". Compensates for a "Double Hldth" printed
line. Includes the normal Tine width, margin, indent, paragraph,
space, vertical skip Tines, page length, page numbering,
centering, fill, justification, etc. Use with ART Editor.
Supplied with "Structured Source" (Wlndrush PL/g}; easy to see
the flow of the program.
f and CCF - $49.95
miSCELLHIlEtillSl
TABULA RASA SPREADSHEET from Computer Systems Comtulteett «
TABULA RASA is similar to DESKTOP/PLAN; provides use of tabular
computation schemes used for analysis of business, sales, and
economic conditions. Menu-driven; extensive report-generation
capabilities. Requires TSC't Extended BASIC.
F and CCF - $100.00, U - $200.00
DYRACALC from Computer Systems Center — Electronic Spread Sheet
for the 6809.
F and SPECIAL CCF - $200.00. U - $995.00
FULL SCREER I*H«T0RT/MR» from Committer Syttemi Consultants - Use
the Full Screen Inventory System/Materials Requirement Planning
for maintaining inventories. Keeps Item field file In
alphabetical order for easier Inquiry. Locate and/or print
records matching partial or compTete Item, description, vendor,
or attributes; find backorder or below stock levels. Print-outs
in 1ten or vendor order. HRP capability for the maintenance and
analysis of Hierarchical assemblies of items In the Inventory
file. Requires T9C*s Externa** RASfC.
F and CCF - SlOO.OO. U - $150.00
FULL SCREER MAILIRG LIST from Computer Systems CemselUtU — The
Full Screen Mailing List System provides a means of maintaining
simple mailing lists. Locate all records matching on partial or
complete name, city, state, tip, or attributes for Listings or
Labels, etc. Requires TSfs Extern*** BASIC.
F and CCF - $100.00. *J - $110.00
DIET-TRAC Forecaster from Southeast Media — An XBASIC program
that plans a diet In terms of either calories and percentage of
carbohydrates, proteins and fats (C P Gt) or grams of
Carbohydrate. Protein and Fat food exchanges of each of the six
basic food groups (vegetable, bread, meat, skin milk, fruit and
fat) for a specific Individual. Sex. Age, Height. Present Height.
Frane Sire. Activity Level and Basal Metabolic Rate for normal
Individual are taken Into account. Ideal weight and sustaining
calories for any weight of the above Individual are calculated.
Provides number of days and dally calendar after weight goal and
calorie plan Is determined.
F - $59.9S, U - $89.95
f •« tmiptne -•
Add ?I V.i.h.
(■Jo. 12. SO)
Add it S*rr»c« PoT'tlA
10Z Air TorwXfn
*FiEx is * looofnark o* Technical Syslems CcnsuOani!
~OS9 is a lrademajk or M*CfOw«<«
MvmUmfelDty
P » FLEX, CCF - Color Computer m*
O « OS-9, CDO • Color Computer OS-9
- MhlFLEX
OCD « Color Computer Disk
OCT - Color Compter T*pe
38
III §>!*»# S|Pm>c1fT TmttJT OfrdmrmYtrnei Sym^ww I Disk Sfi
til
'68* Micro Journal
Accounting Software available yet, and the
Word Processing Software selection Is
somewhat limited), but there are other
Important areas that already have good ln-
depth coverage, such as Data Base
Management packages (at least a half
dozen), 5 **C" Compilers, an Assembler or
so, several Pascal packages, a couple of
BASIC f 8, several Communication packages,
numerous -Utility" packages, etc*, just to
mention a few. As with most "new" Computer
Systems, there are a lot of what I call
"personal enjoyment" Programs available,
such as Hayden's "stable-, which allow both
Programmers and Users to begin to "get a
feel for the Machine". Most Business
Packages were waiting on the 512K Mac and
Apple's Network, and these also require a
lot of "User Interface" re-thinking and re-
Programming, but they should begin to
appear in the near future.
Since the Mac forces Programmers to
"Think like a USER" rather than like a
Computer Expert, and because the Macintosh
is "Event Driven" rather than "Application
Driven", it has turned out to be harder to
port other Software over, which has slowed
down some of the releases. The Pro-
grammers Interface to the Mac Is complex
and "different", and while it does relieve
the Programmer of a lot of the details in
interfacing an Application to the System,
it requires more time to figure out how it
all goes together. This may provide faster
Software Development once the Developer
learn 8 the system, but it also Induces a
delay in getting the first products out.
In addition, the Graphics capability of
the Macintosh Is an Integrated part of the
System, not a "add-on" as It is on most of
the other Personal Computers. For
example, the Text that Is displayed Is not
a standard character set generated by a
Display Controller/ROM system, but is
composed of various fonts which can be
manipulated in numerous ways because each
and every dot on the Display is controlled
by the "System". The Mac Is a potent
"Drawing" Machine with Its Graphics, which
is a whole NEW area for using Computers,
and may turn out to be as revolutionary as
the Screen-oriented Word Processor in the
utilization of a Computer. This has thrown
a real "Monkey Wrench" into the Development
of Software for the Mac, because the
Software Development Industry does not have
any experience in this area to use as a
guideline. Rather than simply developing
new methods and procedures in interfacing
an Application to the Mac, the Software
Developer must develop a whole new ATTITUDE
and APPROACH to effectively use the Mac's
Graphics-oriented User Interface. Also,
this Graphics capability opens new doors
for totally different types of Software,
such as Apple's MacPaint and Mac Draw, or
Telos Software Products' File vis ion, to name
a couple of examples of products that are
different from anything that has been
available before for a Computer System-
Again, we might note that the copies of the
MacPaint package that are showing up on
several of the -established" Computer
Systems provide an Indication of what the
overall Industry thinks of this type of
Software Package. It will be very
Interesting to see what types of Software
appear In this area as this part of the
Industry matures over the years.
Apple appears to be going all out to
support the Mac. The common problem of
finding out what Is in the ROM In the
Computer, for example, does not exist with
the Macintosh. Anyone can obtain a copy of
the "Inside the Macintosh" Manual (Apple
recently announced that they have signed an
agreement with Wiley to publish this
Manual). We have not heard just what form
It will be In, but I would anticipate a
multi-book set with the possibility of
ordering a set of Disks of supplemental
Information. This Manual will not give you
a disassembly of the Mac's ROM (thank
goodnessi); it does provide information on
how the Software System works and how to
Interface with it In writing your own
Programs. For example, you do not have to
design the Windows in detail, you simply
specify what size to make a Window, where
to put it, and what It is to contain, and
call "System Routines" that actually draw
the Window and control it- Our present
'Draft' Manual is about 6" thick and it's
"all MEAT" — each and every sentence must
be studied to begin to understand what Is
in it. Maybe we will see a series of the
"Lightning Bolt" Books on disassembling the
ROM and System Software sometime in the
future, but I kind of doubt It; it sure
would be a BIG set of Books. Apple will
also be making use of various Bulletin
Boards, CompuServe, regular -Newsletters",
etc., to help get the Information out to
those that are Interested.
Apple is also supporting the Mac with
Hardware; the primary thrust over the next
two years will be developing and supporting
the AppleTalk Network In a -Business
Office" environment. While not as fast as
'68' MkCfO Journal
39
most of the other "Networks", AppleTalk is
SIMPLE and INEXPENSIVE! A $50 "Y" Adapter
for each of up to 32 units allows any unit
to be hooked up to the AppleTalk Network;
there are no switches to set, etc. Every-
thing is handled in a 5K Software package.
For those who need more capability, there
will be "smart** boxes such as the File-
Server with a 20 or 40 Meg Hard Disk and
full 68000-Ba8ed Computer System to handle
more complex hookups such as communicating
with Mainframes, other 32-Unit Networks,
etc., as well 88 perform numerous other
supportive tasks (the target release date
is summer/fall '85 at around $5000).
The $7000 LaserWriter contains a 12MHz
68000 Computer System with 512K of ROM and
1 . 5 Megs of RAM so that IT can handle most
of the ''processing" required in generating
the Text and Graphics at the 300 dots/in.
that it uses, rather than tie up, for
example, a Macintosh and special Software,
for that job. The LaserWriter ROM does
not contain the different fonts in a bit-
map format; it contains the outlines of the
characters in 13 different font styles.
This allows the printed characters to be
just about ANY size and have ANY orien-
tation (print at any angle, upside down,
whatever), format (such as bold, italic,
shadowed, outlined), etc. The ROM also
contains a "FORTH-like" programming
language called PostScript which allows
Software such as MacWrlte, or any other
piece of Software, to send a PostScript
Prograa, along with ASCII Text, to the
Printer rather than the "bit map" that is
sent to the ImageWrlter (which radically
cuts down on the amount of information
that has to be transferred to the
Printer)* This "Program" will tell the
LaserWriter what fonts, sizes, formats,
etc., to use, and let the LaaerWrlter f s
Computer handle the details. The Laser-
Writer is already set up to use the
AppleTalk Network; several Mac's can be
hooked up to the Laaer Writer and each can
use it, with no other parts or pieces
needed other than a $50 Adapter for each
unit in the System.
Finally, the overall Macintosh
"Operating System", to use the term loosely
— Apple actually considers the Mac ROM and
the System Software to be two separate
packages, an Operating Syatea that inter-
faces with the Mac Hardware, and a User
Interface Toolbox that Interfaces with the
Mac Prograva — shows considerable fore-
thought. For example, it already Includes
provisions for Color; 8 Colors with 32 bit-
planes can be written into Application
Software NOW, which will simply show up in
black and white at this time, but will be
ready when color IS available (rumors hint
at a 68020-Ba8ed Color Mac in a couple of
years). For another example, since every-
thing is soldered into a 4-layer PC Board,
how do you "update" ROMs? The System Calls
use the 68000 "1010 Trap" (they leave the
"1111 Trap" open for the Software Devel-
opers* use), so this vector can be diverted
to a RAM Routine which can filter out any
updated calls if needed; this provides both
an easy way to keep the ROMs up-to-date
(as long as you keep your "System" Disk
updated), as well as allowing Software
Developers to use their OWN Routines in
place of any of those in the ROM if they so
desire.
While there may be some drawbacks (for
example, accessing the Disk System is S-L-
0-W compared to most other Operating
Systems, although Apple expects to have
some updates this year that will speed
things up some), overall, the Mac Operating
System appears to contain a flexibility and
expandability that is seldom seen In other
Computers, and only time will tell how
efficiently Software and Hardware
Developers can learn to use the System.
A "Macintosh System" comes in many
flavors. The basic 128K, Single Disk Mac Is
definitely a "Starter" system; it DOES get
you a Mac with basic Word Processing and
Graphics capabilities, so you can begin to
get familiar with the System. But to have
a "Usable" system, you really need the
external Disk Drive (there is only enough
room on the normal "System** Disk for one or
two Data Files — the Mac, especially the
128K Mac, uses a lot of Disk space for
"virtual storage 1 ') and a Printer. The
"System" Printer is the Apple IvageWrlter,
which is basically a "Pro Writer" with Apple
Electronics, but there are Drivers
available from external sources which drive
Epsons, Daisy Wheels, etc. Our experience
indicates that a "minimum" System would be
a 128K Mac with the external Disk Drive and
a Printer if you expect to use the System
for much of anything. Double-Sided Drives,
which the "rumor mill" says should be
available this summer or fall, will be a BIG
help.
While other Printer Drivers for other
Dot Matrix Printers are becoming available,
they are not the "Complete Answer". I
would guess that the ProWrlter was chosen
to be the System Printer because its dot
pattern of around 80 dots/in most nearly
matches the Mac's Display Screen, providing
a Printout that almost exactly matches the
40
68" Micro Journal
Display in size and texture. We have been
using an Epson FX-80 while our ImageWriter
is "in the Shop" (more a little later), and
have found that its 120 dots/in produces a
much 'cleaner' Printout of Graphics
Displays, etc., but the SIZE is different.
To get a clean "High" quality print, the
Printout is wider than the Display. This
becomes very noticeable with different
Fonts* etc. While this situation may not
be a problem for you, you should be aware
of it.
The reason our ImageWriter is in the
Shop (now for the third or fourth WEEK) is
that one of the Pins in the Print Head
froze up. So whats the problem? Well,
first, it costs almost $100, and is not
easy to change (the Epson Print Head costs
$9.95, and can be changed in a few
seconds). Second, they are SCARCE; while
"no one" knows about any "unusual problem"
with these Heads, even the MAJOR ProWriter
Service Centers don't have them. The local
Apple Repair Shop assured us that they
could have it repaired in a couple of days,
and after a few days of "working" on it,
decided that the Printer needed a new
Board ("updated" Board, as they called it).
Well, OK, we need to have the most "up-to-
date" Board in our Printer, right? After
the Board was replaced, we were informed
that the Print Head was bad SURPRISE!!!
So, we have been using the Epson the past
several weeks while waiting on a 2-day
repair. And we are not alone in this
problem (re some of the "Letters to the
Editor*' in other publications). Hopefully,
they (??? whoever) will develop a decent
Print Head in the near future.
Is the Mac for you? Only YOU can
determine that* The Macintosh DOES offer
many options and possibilities that we have
not had in the SS-50 Bus community; most
notably that there will be a LOT of them in
the Marketplace, and have a LOT of dif-
ferent Software and Hardware to use with
it. It also offers a lot of options and
possibilities that have not been available
before in the Computer Industry in general,
such as the fle>dble but simple Window/Icon
User Interface, the Graphics capability,
and the AppleTalk Network (an IBM PC Board
is being developed to interface with the
AppleTalk Network, while the FlleServer
Unit will provide access to "'Mainframe*
Networks). Whether it will develop into a
force in the Business Computer arena, only
time will tell, but it seems that Apple
DOES have a "viable alternative", and
Marketing Force to capture a large chunk
of the Personal Computer Market.
68' Micro Journal
Ramblings
Mr, Don William
bS HICflO JOURNAL
P.O. Box 649. 5900 Cassandra Sal th
Mlason, Tennessee 37343
Dear 0on.
I was a bit startled by Ron Anderson's comment In the March l 8S Issue
{Page 10, column I, Paragraph 4) that ISC *e*m to be getting out of the
68x* business. But I looked for thefr advertisement In *ome of the Months
preceedlng that Issue and, as sure as an Indicator could be, no
advertisement. Horror of horrorsl Now not only an [ obsolete In equipment
but my 00S has done and gone obsolete on me too.
In fact everything related to computers I have Is obsolete. I built
my first SulPC 6800 system about 1978 and that went obsolete when the 6809
came out. Yet that was wording fine when I rushed off my money for my
second HTPC 5/og system In January 1980. In fact that original 6600
system Is SriU WORDING fltti TODAY as I sit here and write this letter.
True, I haven't used it for some time. But why couldn't I use It as a
parallel processor sometime? Simply hoot It up through a parallel port to
the 5809 S/09 and boy could I have some operation run like greased
lightning.
Talking about obsolete. I wanted to try sowe graphics but neither
SkTPC system had any ("We Don't May Games"}. t looked at the boards
available and they were either too expensive or too crude. Uhy not buy a
cheap "appliance" computer and connect It to the S/09 through a serial or
parallel port? Hell you never saw a computer go obsolete laster than the
Texas instrument TI-99/4A. I would have reported on this toy through your
Journal (the graphics were good at the time for the money involved!, but I
got mad at thee when they charged more for the bo* to Interface to the
serial port than the computer cost! I did not want anyone to buy one based
on my recommendation after that.
On my third version of FLI*9 I vowed to heaven I would never, ever,
buy another version of FLEX- Sure enough, UNIFUX came along. But nobody
ever convinced me why I should pay several hundred American bucks for a
multi-user system when I am only a single user system.
Recently I had an occasion to use a brand new Radio Shack Model 4P.
In my opinion, that computer has not yet matched the capability of my StflPC
S/09. True. I didn't get a routine to tell the time with the S/09. I have
thought of placing one of those stlck-up digital crocks on the terminal.
But If I turn my head SHgfitly to the left I can rook at a regular clock to
tell the time. If the computer wants to tell the ti«e he can ask me nicely
and I m*,y write a program for him to use his two on board timers. But the
Radio Shack did have one very superior advantage. The documentation was
beautiful. If I had that documentation when I started computerlng, 1 would
have saved all that time reading one piece of Inscrutable prose after
another. But I would have missed all the fun too.
But there's the bits too. My bits art going obsolete. The 6809 Is
only 8 bits. There's 16 bits and 3? bits com1n9. Nhat am I ever going to
do with all those bits? "Ah, but you can calculate ever so much faster!"
you say. "Why can't I use my 8 bits and calcluate with my on-board
calculator?" [ answer. "Surely the calculator chip will calculate much
faster then the 16 bits or the 3? bits?* "Hot 1 f we 91ve them mo r e
mhx.""You mean my «>? 1$ obsolete too? Oh I that reatly hurts!"
Ho the Fat Mac at 512k does make my were 1?8* obsolete. Everybody
seems to be In the big memory business these days. I seem to recall that
In the early days of micro -computers a sleve-of-Erastothenes required less
then Ik. Now. according to Mr. Edward Joyce who wrote In the October 1984
Issue of MICROCOMPUTING (not another obsolete!! magazine, page 63,
Logitech's Kodula 2 REQUIRES 16,970 bytes of object code (NOT INCLUDING AM
3kb RUN TIME PACKAGE!. I have an Idea, why not keep all eur programs In
«AM, Then we wouldn't need disk drives any more. (LOTUS l-?-3 anyone?)
Some tfme ago, perhaps In the '60 k s, I read a great article In ANALOG,
the Science Hctfen magazine. Perhaps someone will write In with the date
of the original magazine, for that article Is really worth reading. I do
not remember who wrote It or the title (but It toy have been "The All
American $") but I wilt try to recall the high points here.
Back In the '30's the electronics Industry had achieve a S tube
design for a radio. It was called the "All American $". That's all It
took to make a radio. Just the 5 tubes. No more. No less. Some clever
manufacturer figured that If he put more tubes ^n the radio he could sell
■ore radios, 'nd the big tube race went on. There were 6 tube radios.
Then 10 tube radios. Even 20 tube radios. Some iwroufacturers even had the
extra tubes light up so you could look In the back and see all that great
work being done.
Then It was cylinders. The more cylinders a car had the better It had
to be, didn't It? The cylinder race was on* 6 Cylinders. 8 Cylinders.
No. Not 10 cylinders? Yes and even 20 tiny little cylinders.
I guess you are all too young to remember the watch jewel race. At
first everyone thought that there aere really diamonds In those watches.
They just had to be worth more If they had more Jewels. The Jewel numbers
continued to climb until so«e sourpuss squealed that the Jeweler's term for
a normal bearing was "Jewel" and that was all over.
Back to the radio again with the translster. It took 7 translsters to
make a radio. Superheterodyne and all. The translsters got at least to 19
as I can recall fron my personal memory. Nobody would sell a radio with
less then 10 translsters.
tUttage anyone? I can get thrown out of my apartment ff I pfay my 3
watt webcor (Cadi another obsolete!) stereo record pUyer too loud. The
lowest wattage stereo receiver I could find was 15 watts. How does It
happen that people buy 100 or ISO watt sterees for their houses? I believe
that on the day of the Last Judgement only God himself will use 150 watts
to announce the end of the world and the end of the wattage race 1 hope.
41
SO the races no« ere uftn bits and byte* and #>x end raei Instead of
with tubes and cylinders and Jewels end trans liters and watts. *y
colters «rt very fine. ! fNr the day tffttfl t cm no longer get a Inch
diskettes (Hoi Not 5 1/4 Inchl Not 3 Incft! Arjogfil) or print ribbons or
stuff Hk« that, Mien I cen no lonoer got the *»*» ■oteHel to feed to ey
computer, only then win U bt trvly obsolete.
But Isn't the nu4>er of people who own obsolete coulters growing
every day? Sally. Interact, Ade»> Altelr, NITS,, 0«&om«, Sinclair and on
and on, ttn't the IBM PC shortly to be Included on that list because of
the PC AT? Shouldn't ther« bf a oeoazlne called the OBVXETE COMPUTER?
wouldn't that oagazlne have a Marvelous circulation?
Tours trel
1c
Clifford Glennon
1S9S Nostrand Ave. Apt »
Brooklyn, New York M2*
Ed's Note: Clifford, you just hit the nail
right on the head. A lot of brands and
models have become obsolete. They were
planned, designed, manufactured and sold,
all with obsolescence built in. That is the
American way to merchandise a 'successful
line'. It is the foundation of almost all
major manufacturers, otherwise, they would
soon run out of repeat customers. The auto
industry is just one example; they got
'eaten alive' by the Japanese. Because
sometimes it became the same - junk and
obsoletable (think 1 just Invented a new
word). Fact is I have been told by
designers that it was difficult to design in
such a way as to insure it would fall apart
in a predetermined time. At times falling
apart was not the design goal, just let it
fade away, without adequate support - forget
it and on and up to the new improved model.
Bye, Suckers! Remind you of anyone?
I own both a late model Caddy and a
Chevrolet van, in addition to a 1972 Fiat
convertible. 1 hesitate to call it a 'sports
cars' lest any of you get the wrong idea.
Also I have a '69 Ford pickup with over 100
grand showing, and a lot not showing. So
let me tell you about my experiences with
obsolete.
Notice I have not Included obsolete
computers in my r amblings so far. I own a
couple of those also. More later on them.
As a result of the Cadillac having so
many problems and faults, as well as the
Chevy van rusting away due to poor prime and
paint application. Not to mention the
engine that drinks oil like it was going out
of style. And the dash that sounds like a
Texas rattler, even on paved road. The
whole thing is a rolling pile of
obsolescence. When I go into a Chevy
dealer, they just attempt to shrug away my
complaints, and start telling me what a
great job the newer one will do. Well, I
will never buy another Chevy or GM anything,
ever, I am now on public record of getting a
case of the smarts. However, I guess a
little of it is due to the fact that I know
somewhat more about computers than 1 do
automobiles . Also, for as long as I live and
buy autos, the experience with Ford will
make me a Ford customer. It has kept
running and gave me more than I bargained
for. Also the Flat has run like a top, and
everything still works. They dropped their
USA distribution, but I can still get parts.
I have a hassle trying to get parts for my
van, and it is a '79 (parts that is that
have some quality).
Now as to Obsolete Computers.
I was talking to a friend and reader who
is employed by the FAA the other day, he was
telling me about one of the S50 bus
computers they were using in some of their
operations, at a regional office. He was
buying additional hardware, from Data-Comp
for the system. I asked him what it was, I
was told it is a 7 year old SWTPC 6800
computer and ran at least 8 to 10 hours
dally, seven days a week. And they can still
get any part for it they need! I thought
about this, especially since getting your
letter Clifford. Today I called a reader and
user, as well as Data-Comp customer, who is
a NASA engineer, and he tells me they have
several (meaning 'many') GIMIX and SWTPC
systems that are at least 5 to 8 years old.
Fact is a CoCo running S.E. Media FLEX
modified by S.E. Media was the computer that
launched the FIRST commercial, non-
government USA space vehicle. Those systems
are still running, the software is not in
the least obsolete. The CoCo, as we now
know it, may soon be dropped by Tandy
(remember the TRS Model 1, model 12 and soon
model 4, etc) but the aftermarket will
probably keep it alive, due to the large
numbers of them sold.
I have not heard a word from Wavemate
for a couple of years, yet S.E. Media sells
software all the time to users running that
machine. And we can still get practically
any part needed also. Then there was MSI,
gone for some three or four years and I
know many still running and being supported,
because of the similarity of S50 bus
systems. And even as I type this, I
received a call from a user of SSB
equipment, 6 years old, still running the
DOS69 and completely satisfied with the
system. And any of these systems can run
the 68000 also. Obsolete?
FLEX is not, in toy opinion, supported by
TSC any longer. In fact the only thing that
I know of that they have done with FLEX in
42
68' Micro Journal
the past few years is jack up the price.
But that is another story. They still
support UniFLEX, and in fact a very nice
version (virtual memoty) will soon appear on
a new 68020 machine from GIM1X. However, I
must admit that most users of FLEX and
UniFLEX, L talk to, do not feel that TSC has
kept the faith. Yet, I do keep up, in
various ways, with what is occurring and it
is my personal opinion that their decisions
in respect to FLEX especially and the S50 in
general was a mistake. I will be glad to
retract this given sufficient information to
the contrary. UniFLEX users have had it
somewhat better, but not to the extend
previously expressed or implied.
That any manufacturer of either software
or hardware should restrict his offering to
the S50 bus is patently unthinkable. All of
us would desire that we have a profitable
growth and expanse of our market. We all
felt good when some of our suppliers made it
on the 'other side", but not when they did
by ignoring us who had given them their
start. When I went higher in grades
(schooling) then my parents did, I did not
forget them and go out and search for a new
Horn or Dad! Nope, I just rejoiced and
thanked them for making it all possible.
That kind of thinking goes equally as well in
business.
I am thankful to fine folks like those
at SWTPC, GIMIX, SSB who were there at the
beginning, and never made their stuff
obsolete. I can still get practically
anything I need for any of those basic
systems. They have improved the breed a
thousand fold, but in the process never made
my original system obsolete. Without that
we would have been gone long ago .
For the past 5 or 6 years I have
watched OS-9 grow. Both in quality as well
as quantity. OS-9 is now used on more
different brands of 68XX(X) computers than
any other disk system - period! Yet,
despite its growth, and expansion to other
systems and CPUs. Microware has not seemed
to have forgotten their beginnings.
I have not always agreed with some or
their policies (as with many others), and
matter of fact many of them have not agreed
with ours. Yet, they have not obsoleted any
part of their product. I thank them as well
as all the other software and hardware
vendors and manufacturers who still remember
who we are.
Now I will tell you a documented truth;
those who have kept faith with their
beginnings and loyal base of users, and who
offered a reasonable quality product have
survived. Not many got rich, but most eat
fairly well. And that IS important! They
will still be around when it is feasible to
make that expansion, but not if they forget
their base of users. I cannot tell you how
many have lost valuable credibility because
of the "bad -mouthing" they received from
their users because of their apparent lack
of support of previously sold products. And
I personally know of some mighty fine
contracts that were made possible because
of a proven track record of GOOD support.
I don't care how well you might think your
product or support is; if your users feel
you fail - YOU FAIL! The IBM PC (tm) is not
the best micro - but look at what
reputation has done out in the marketplace.
So Clifford, I guess we will always have
shoddy products. Those will be culled out
in the normal course of business
progression. For those who remember, have
a good chance at survival, because we are
loyal. But the sad part is that we will
lose, and I mean WE LOSE, when any one of
our basic suppliers becomes a little "big
headed' and forgets who gave him his start.
If ever you think that we are letting
you down, I want to personally know. I know
who made us and I thank each and everyone
one of you, reader and advertiser alike,
from the very depths of our hearts. WE
REALLY APPRECIATE YOD! !!!!!!! !!!! !!!!!! M !!
DMW
(Lowputer Pub I I ah in V Canter
66-MicrD Journal
3900 Cssasndra Smith
P.O.Bdw B4?
HIX6Q*.
U.S.A.
TN 373^3
Rsvaond Caaneuf
Berliner Str.S*
607 HaUtel 1
U. Geraany
Europe
nalntal. dan 19.2.83.
buhj.L Upgrade the aid black bok
Dear Ed l tor .
rha letter from Mr, Piicinn publlahed undtr 'Bit fluckat ' in tha
dtenber 196* lnui expre««e« ana of ttie dreaaa of avary caaputer
frtik I guts*. A dacant hardware* a flexible ayatea layout and a
high reliability In ordtf to run aultipla operating eyateaa, without
board swapping or ch i p-txehang ing for goJng froo on* OS to tha
othari and ill of this for a raaaonabla price!
Hoatver. being iviri thai nobody Mill invrnt an egg-laying
wool-el lk~p i g. I might introduce ay aetup «a an exaaple how an oldtr
svatra can be upgraded with («Hnor> nod I f lie at bona in order to
rlillir the above Mentioned drttm.
I do not clala that this la the ultimate ayate*. but thia
contribution could ahou to tha o8km- f rat tt-n Ity on* way for an
upgrade, using aoat of the Already avallaMa hardware.
For the t \ aa being I can sal tch-select between FLEX, UNIFLEX. Ofl-9
and trVH using the aaae hardware configuration.
In the early days, n South West Technical Products still
manufactured kit*, together with aowe other fellowa here I started
out building a 6800-h 1 t froa the acratch.
uo after a unlit 1 also aaa a Proud owner of auch a blvick box.
hore or lass at the aaae t lae aaae ruaoora case up that the 6800
would be replaced by tha 6609. Alao around that Mat Southwest
aoved fro* the 'hobby-aarket ' Into the ' ayat ea^buaineaa' . Prkcaa
aent up for the laat bare toarda. new aoftware was aada only for the
6809, etc.
Manv swtp-dtslera at thia aide of tha atlantlc tried to get rid of
tha hobbieat. help waa no longer available..... They aaelled
'business' and knew only the warda 'bookings' and 'profit'. So dark
daya began for thr 6800-owners.
'68' Micro Journal
43
1 have to tKcludr &wed I *h Electronic! froa this steteaeM. Han«
gave to ■• • lot of uiiful jnforaat »on. «o 1 ctn rtcontnd those
dlloKt to the 68KM-coaaunityl
At thu tut 1 decided to convert to 6809. but prerequisite however
est to u«e as aany psrts •• possible froa ay old tytite.
First step ««* to convert the old HP-B2 aotherboard to the
GG50c-bcjt-)avout .
Went step Mil fully decoding of the old aother^boerd.
Later 1 Minted bo initill the virtual disk, so intended eddresemg
hi« required. Therefore 1 had to aodtfy ton of the available
ataorv boirdi.
After s Stateside visit 1 c sae bacN hoae with an older version of
OS*. ftc the next project mi to be itsrted.
in order to pet the 069-clocK running there hii a need for t iaer on
sddren *C090v for ton reasons 1 had to convert the 1/0-portt froa
* to 16 addretses per Porl,
it later instsllaent in cp/a. hoping to open ay lyitsa for the so
called ov*rwhsla>ng world of application prograaa* which are told to
be available for the cp/a-coeajun ft y.
Finally. ton t * ae 1.90 I matelled Unlflex on the ssae asinfraae.
Son other aod 1 f icst iont were required to aahr it running, but still
having iccut to the all previous features.
■ ill of Ihf ibovf HtiManF
mntl chapters-
1. Conversion rtP-fl2 set her board for *8Q9 cpu (Hp-QVA board 1.
Several modification notes Mere published in the 68nJ in the past,
so I Mtll not repeat alt of the thoughts MMch have been written on
this subject meanwhile,
First of ill the 1/0-port* aust be aoved froa the IBOOO-Brsa
into the •EOOO-area.
The supplied HP-B2-aanuat . p*9e 4, describes ho« to do thisi
e/ cut psth betMeen 1C6/13 and IC3/*.
b/ connect ic6/9 to Ic3/*.
I his aovea the 1/0-blacfc to ♦E000.
c/ cut MUST froa MP-82.
d/ cut U01 * U02.
«/ connect reset switch w»th 2 wires to the HP 09 board.
f> »t is useful I to connect an abort-auitch to the nai
connector on the cpu-bosrd.
Mt thts aoaent 1 could boot flex?. u« ln g ay old
0i;2 controller for the KF6B.
K*
tc*
$mm\ r-
,.#•<
V
4 '
J-
•js*t/*
:
dtfW jvmptr
2. Address -decoding.
Having purchased a graphic board, addressed at •£10Q. 1 ran
into an addressing problea. 80 1 decided to to decode the
e-EMXK-erea for ay needs.
A good help for this Job aas an article In the HJ68, laaue
eprfl B2. page 35,
8lncc I also replaced the DC2-cont roller by the 0C4
aeenwhile. which bIIoms 16 addreaaes per port. I decided
also to eodify the port decod>ng froa * to 16 addressee.
a/ cut addresaline AS to lc6/4 on the MP-82 aotherboard.
b/ using an 8N7*25 and an 8N7*00 asks following decoding
SN7*25 pin 1
2
3
9
10
12
13
to ground
to All
to MO
to A9
to Att
to A7
to ground
to grnund
t o SNM00V1
to 8*7*00/2
SW7*tJ0 p F n 1 to 8*7*23/6
2 to BN7A2!/9
3 to ic6/*
Hers- addresstfecod Ing.
The f lex-ut *\ ity 'TIKE* requires a tiatr at address *E090.
Also for ay CSV-lap) eaent at Ion there aas a need for a tiaer
at this sfldress.
HoMver neither the t 1 acr . nor the eddresedecoding for this
address was prepared sofer. So lets do soac aore decodingt
*'
first step is to replace the original 7*9138 Cic3) on the
P1P-82 aotherboard by *n SW7*1S* decoder.
Therefore I built a Basil adaptor board . that plugs into the
original Ic3 socket on the KP-B2 aotherboard. the 2*p I h
socliet for thi 7*15* \% hardwired to a Spin socket on the
ssae adapter board. The pins of this auMiliary socket plug
into the old socket on the aotherboard.
4 ul loving connect inns uiri asdet
13
23
,v
21
EOTQ
E06t>
E050
E0*0
tO30
E020
EG ID
£000
CO 30
EOYO
E0A0
E0P0
EDCQ
Eft&D
E0EO
E0F0
In tfxi wav i gol all the required ports, also soae extra
unci i or l*ter eupansjon.
$+FF
After this Bonification the 1/O-dscod In 9 is eEOOO . «£010. up
to tE070. So the serial card for the crt aust be aoved froa
slot I lo slot 0. and the floppy controller aust be
installed on slot 1 < «E010K Qo not forget to reaove the
Mire from slot 5.
Those chips can be positioned upside down at the left aide
on the components side of the MP-B2 aotherbosrd by u*e of
soae adhesive*
Now I could Plug ay graphic controller on to the 5550-bui.
uhlch allows ae nou to create 312 a 512 pixel pictures.
The vidso aonltor used Is the old CT6* froa southwest.
The neaer swt p -corn-put ers have a total nea design of the
aotherboard. including a HP-ID card. This ttP-10 card hold
the 6840- t »»sr .
( decided to build this t Isir on a BS30-prot oty© Ing board.
lhis board all I also be used to hold the baudr at egener at or .
uhich all I be covered later.
1 copied the t iaer aa published in the MP-10-scheaat c.
After coaptation of the circuit. 1 found out that it would
have been ess I er to use a bridge rectifier instead of the
two transistors. But I wee to lazy to aod k f y the circuit up
to now. Everything works okay sofar ►„.
'68* Micro Journal
lh« 50 h* J in* frequency it doubled by the trhntittor
c»rcuK. *nd I* tent to the «G40-tiaer through • 7413
ba»IM r igaer .
\ tee tcheaat kC >
fhi» 9«v» ae the rr«iiin4 I (M< for both * t lrtE*-u 1 t • t y . and
0*9-tdtpt ion. which Mill b« covtffd later.
In order to run the * UO J8K * -pech age , extended addressing
■umt be enabled* both on the cpu card and on tit* 5590-bua.
therefore t mo lOdXKtt lon% ere required!
■ / milill ihi DAt Ml on
Ihe cpu board Bay hivi either i c9 <0AT> or Ic24 < t • aer >
metalled. (NOT I0TMM For extended eddreatjng left CO«T>
»t reQuired. to Ic24 wott be reoovedl tee next point.
Referring to ion note* 1 found* icB 74S1B9 should be an
'4*-tvpe, Be careful I nftlli imUlimg the chip or the
socket. Do not bent tny pine end tate cere to ikkt good
•older 1*19 «o«-e i a lot of troubleahoot ing can b* avoided In
Ihn wav.
In addition to icB. nintori 121-82* < 470 oh«> euet be
•natal led*
Bee aleo tppl ciMoa note 122* fro* awtp.
Referring to the hP- tQ»e<:he»et (C . and an ippllcit too not*
fro* aouthweat. * alto removed R4. PS, RIO and BO fro* the
old MP^I? wot her board. Rt it replaced by • oOO ofi*.
letitter. and FIRt <O02) connected to *5V trough a pullup
rettator .
At this pomt I have to ttv tKtnU to SfiSCWV. ay friend Hant
in Oppaala, He It one of the twt p-repr taent ivii who tabet
cere of after-tale eerviceil
b iiwvt the beudratl generator 14411 CiCaMK
thit n»tr can be intttlled on the iim prototyping board,
wtith is uiid for the IE090- t iaif , (tee chapter 4)
c/ cut the baudrate linet 50-49- 48- 47-44 . Thoae paths ctnnot
lonttKr be utrd Cor Maing purposes. The SS50c-bus Utes
Jhote linet for extended adreaatno A1A-A19. So cut the
oatha between thr BS'O and BS30 section,
a/ met all ll"f 1*4 1* on th* prototyping; board.
the iim ( ircult 4i« uaed on the cpu beard can be build on
the prototvPUiO board. u«« tcheaat ICK
Ihe tppropriste cloctialgnale autt be tent to the btudrate
I inea on the 9S30 bui taction.
*t*
i
U 24
it 7
4
f
** 1
-Lfrl
ifr* Mf= — *~_
-*t>:
^
-H>a-
^Tiffo
^M»"
~r«
Coding tht aeaory
Now everything la eetup to atke ute of tlie extended addrpea
capability. 1 ute two ttatic A4-F,-ret ctrdt froa Digital
Kimrch. I htd too* piobleea In finding the correct
twitcheett Inge on the board. Finally I found following
coding to be uted aith th* boardet
on
93
CO
fi1
$2
S3
1 1 1
1
1
1
1
board
1
1
i
a
board
i
1 1 1
N
1
%
i
board
2
-------
1
A t r
51
t
l I l
SU
a
D
boerd
r
I IH »
eMt
. tddr .
enabled
----.--
» |« »
C
taooo ■
- ttFFF
1 III 1
1
• 4000 • trTFF
**«->*-»
» In l
A
toooo •
- »3fFF
_—__--_
*»ter tuccetful coding tnd mtt al lat ion. the proapt 'SQUGI.x
SAK* will appaar on pow«ring up thr tyttea.
rtCler booting the tvetea. the fliw-prowpt p LEX 2.MIM 102 k
«•« ) 1 4ppet» .
a little bit of eMper taant ing with thr botrda thawed that
board autt have tCOOO-tOFFF enabled. tEOOO-tFFFF a> u et be
d l tabled.
0oanj» I to $5 aum i tuvi the range tCOOO-iOFFF ditabled.
wine* t alto htd an old 32X dvntalc raa froa Digital
■ eeeerch tvailtbla. t also **tnted to plu^ \n on to the
BfrsO-but ilao.
F |r%t atep wat to prepar* thu bo»""d For extended
tddrcttmg. A utef ul I art leal wat published in HJ6&. issue
%mp.0Jy Ptge 2d.
A16-
MF—
aid
MP--— -
VHA-----
74LS13B
I -I A 01-13
2 -'■ 1*- 14
A -»C 21- 13
5 102b 3i- 12
4 l 02a 4 ■ 11
a -101 V- ID
Vet d<- t
B - i Ond 7 * - J
-Id
* — <«.^
-■
1 > VNA
Uith the twitch arranQcavnt onr can *el*Ct on wfi ich Page the
32*Vb1o<fc Mill be located. this saaM addltiontl circuit
can be poa»tiooed on the lo«>«r rigth corner of the board
coaponcntt tide.
♦I nice proor*" to »*** the uaed avaory blocs* visible *\ the
•NfMnnP* .
With thit intltllarnt aOfar. and running "OVMASHaH ' | can
have sv ton running hla baa i cprograas in one block, while
a>vtetf running the att*w>b)er or toa>*thinqi vise in another
block, both uting an individual crl .
litis it * nice altrrnaMve to the ictl aultl-uter tvtteas.
i have alwtvt been Interetted In 059. but I alao alytyt want
to be abl* to turn back to F'leM without twapping board* or
repltc Ing ch t pa.
rt a i nor aodlf'cttion on the nP-09*. board allow* tccett to
both operating tyateae at a flip of a twitch.
the 0S9-F irawar* mliti of two 27^d-eproat. The flrtt vproa
should be placed at addratt eFSOOt i.e. at the ttoa
location where the SlUO ta potit toned. fhe tetond vproa can
be placed at any location of the free eproa tochett.
Since I htve tcratchpath at eCBOO <lc2l. I decided to uee
ltLl-edckvt for eproa P1 . Therefore the addreasdecod i ng froa
•COOO autt be aodified in tFSOO. The tecond eprow it
located in toe bet IC3 itraOOi.
The oodl f icet-ion it tisplc. it it aort difficult to describe
however. 6b 1 guest the tcheaat ic will clear ify all
duett I one.
** cvt trace between JCb/O and ICf/20,
thit thould be done on the coaponenta tide, between chryttal
and fCta.
by cut trace fil/B to 1CI/20.
th>t should b* don* on th
c/ connect a pullup resistor between pint 20 of aoefcett IC1 and
IC4 to 5 volta
Ihe next two tcheaaMct Bill aeke evervthlng clear.
Hw OSP-vcrsion waa configured for a 0NF2 locstrd at eddreet
IE400. while fleK uaed tFOOO. So I decided to ute one
tector of the 4-potition switch. 1 wired everything to e
switch on the frontpanel. to 1 can flip eatily between flex
and 0SV now.
After tuccetful coapletion of this job. the 9S9-welcoae
proapt will appear on the screen.
i aa runninO fleK and 06V in thit configuration for about
one vetr aranwhi le.
W Micro Journal
45
*l.»*.r [ only co<J)d use the 0NF2-cont rol ler . Ilnf or tunitt ly
Hicr«w»re daeenot tuppd the OC«t-cont rol J fr I sa uslnq tor
■ v am i^lopptu,
i>oa>eone here proaietd to help we for thia ipphcittofl. but
after about * «Qunti it turned out to be just a bluf.
At this point 1 hsve to asy thanks to the *J68-tea« and
especially to Joseph Auli«, ■no m HfiHcrk. who Qave «c ■
telephone catl jlwost in Ihe aiddlc of the night. Joe
provided ae with the required startup support for the
DGs-ccntrotler . tio no« I can use < it hen 8" or 9* drive* on
OS*.
■hanks Joe, tht* hhi great''
MP-Q$*
inn
ares?
s-
_^t*if*i (*<*****)
-+i€t/<n (Pmjkt*)
._». , e * n " i (ut^im^}
*4+*f**Vr ,
^^^ TJI^j^i nrn rpn ran
fc^
Ne*t ippl ktition on the eaae aamfraae ■• the instillation
of cp/a. uainq the «E7ALAB-eof tboar d .
the on lv required aitdif teat ion at thia point ia to disable
the sratchpath at SE900. .hlCh 1 use for 'flam',
fh*e can (inSy be don* bv installing an additional switch
according to the next scheaat ic .
now. after pushing the *r aset '-but ton . and hitting the '0'
vou act the Hftiltb proipt. Noh cp/a Is up and you haw
scciss to a mdr vanity of software, an advantage of the
operating systea. which we are at 1 1 1 aiesmg for the
S3S0-but.
Unfortunately for the tiae being 1 aa liaited to 0" only.
net a lab apparently doesnot support the DC4-control ler . I
nrver got a reply froa Metalab neither on wy request for the
OCA. nor on the doable density.
rt*vb« this coapanv drxsnot exist anyaore??
1* anyone out here m APkx li.nd has either a OCA or a double
drnaitv double sided application <or both) up and running. 1
would appreciate to ahare aoae info.
iC#/Wi
hat I
tO. UNIFLEX.
Prerequisite to qct UW1FLEX up and running in
UMIUO bootproa
at laaJl 1?flk SA«
8" drives
s serial port at address SCOOQ for 1 the cr(
a crt with 'lower case* capability
ia M*vavB C pu boird). however ! aa at 1 1 1 running
with ay nP-0?* board without trouble sof ar .
On av aystea I had to per for* two aod i f I cat i ona %
1/ aodirication io select either SBUO or UHlflUO
this ' s done on the cpu board.
2/ modification of the DPS serial I/O- board*
1/ CPU-board.
Since all sockets on the **P-0?ft board are in use aeanwhile.
I caae up with piggybacking SBUO and UNIBUO.
Both eproaa are carefully soldered together, pin by pin.
with except Jon of the chip-talact line (pin 20) „ |n
Addition to this. J also soldered a pull up resistor between
pins 20 and 2* on both eproaa.
Pins 20 of both eproaa are connected to a switch, which
returns the selected eproa to the cpu-board. tocket lc4. pin
20..
2/ OPS-board.
1 aw using the 0P5-board froa MA-Chiceqo on port 0, so with
the actual installaent I have SE000 on one ac ' a tUA). used
for av serial pr'nter* and eE004 on the other acta <U3> used
for ay terainal .
It ia aon difficult to describe the required flat on the
board than explaining this by a schematic.
iHl Mhat at have to do it to cut the two paths going to the
C&t-pins of both atni-
ko cut the trace going froa U2/11 to IM/10. and froa U2/H
to 113/ 10. this can easily be done on the coaponents' side
Of tnC board.
Wiring as required according to the schematic Is done
towi.rda the 'TCHrl A socket, which is not usad in ay setup.
In this way I can always dieconnect the wiring* and pull out
the tinard if necessary.
m tuufke of l2V-relaya and a apdt'-awitch out of the Junhbox
let ae Select sitter fCOQD or SE0O4 nl)h the required eproa.
no I can raeily flip bt-tween "flex* and 'un'ftcw'.
Ihls application la up and running for a couple of weeks
aeanwhile without havind sssn any prcblca aof ar .
The juapcr installation on the DMF2-cont roller seeas to be
rather critical. On ay board I aade the following
juaperact t I rvg t
lialt/bua rsq
bua req
upper/lower
lower
ba/ba A bs
ba aba
irq/nor a
irq
?ah2/lan*
1 mhz
precomp/nora
precoap
ar/nora
nor a
aa/32k
Soli
deael/ael
ae)
As aenlioned betoret thla application runa only for a
couple or aountha aeanwhile without trouble.
Having only a few experience with unlflew aof ar . 1 can
neither racoaaena nor warn running uniflcx that way.
I would very auch appreciate getting aoae experience (If
anv> froa other * e 1 low-hobb * eat a.
»u . /*"
3 zc**&
uz
tn
--a*.
UA
f 24
Tftfrrffl
eTS
aa*|
111
0n
^^
c
1/3 i
Cone 1 usion.
for vn,fUt
hoard loco ft el a / «/©/ ^ j^Ed**}
This certainty is not the ulMaate ayatea.
But I hope t could give aoae inputs how an older bOM can be
upgraded atep by step, ss woney and t i ae and parts srs
available.
Sunning the old black box thia way expanded ay capabilities,
and gave ay the opportunity to run aoftware froa a wide
var'etv of sources-
■Inc«r*ly«
r
Kd.
46
8sy*ond ■ asne-i*
'68' Micro Journal
BIT BUCKET
'68'
MICRO
JOURMU
MeworNew Dimensions of Articles, Letters and All Other
tteas Submitted for Publication on Paper.
To All Subscribers, Readers, Authors and Advertisers,
In an effort to Improve the quality of 68' Micro
Journal, we are requesting from all a change 1n the
vldth of articles submitted on paper for publication.
Previously 68* Micro Journal requested articles not
submitted on disk, to be 7* wide. In order to Improve
efficiency in reducing articles while maintaining
readable quality, 68' Micro Journal 1s now requesting
that all articles (not submitted on disk) be submitted
4 1/2" In width. This change will Include all Items
submitted on paper (Including Bit 8ucket and Product
Anouncements, Releases and letters to Ed.).
Source listings can be difficult 1n this new format.
While a single line of code can be less than 4 1/2" in
width, the longest line 1n a source listing should not
exceed 4 1/2". For this reason 68* Micro Journal Is
requesting compliance 1f at all possible, but 1f not
possible, then we are requesting that the longest line
1n a source listing be made as close as possible to the
new width standard. The new changes will benefit both
68* Micro Journal and Its readers* All Items and
articles submitted on disk or paper should follow the
new guide-lines as published on page 2 of 68' Micro
Journal effective April 1985.
Please try to understand that this request 1s an
honest effort to Improve the readability of future
publications. 68* Micro Journal will not turn away any
article or other items because of non-compliance, but
their quality would be greatly enhanced under the new
width requirements.
As always, 68* Micro Journal 1s requesting that all
submitted materials em paper be done la dark Ink.
Please use a dark dark ribbon H Your consideration 1n
this matter 1s appreaclated.
«* Ulcro Jeor*8l womld prefer all Iteas be sobvftted
on disk, following the instructions stated on page 2.
We understand that this 1s not always possible. We
will always return your disk to you.
Sincerely,
■ rry^ W1
UrryTF. Williams
68 fllcro Journal
$989 Caeaandra Smith
NUion. TW 37343
Dear Don ,
Ui 1 1 lam L«*
8778 Bullock Or
San Dleso. CA 02114
Here ere luo utllHIft the 059 uteri out there
way find ummf ul . The first, ♦♦PRINT", provide* for
some formatting o* text Mlee as they are Mated.
The other, "NAfTE". al J ova the changing of dlak
voluwt niA*i.
PRINT*
The format for calling PRINT la*
print flleapec Ctltlal [ >red I rect I on J
'flleepee' Is the pathllat to the text file
to be Mated and 'title' le an optional header
atrlng to appear at tha beginning of each output
page (48 charactera ma*>. PRINT outputa to stan-
dard output, so redirection can be employed to
eend it to a printer.
PRINT divides the file Into pagea aa it outputa
then. Each page feeglne ulth a header lint which
contalna the title (If provided), data, time
and page number, beginning ulth |. The header
le folloued by four blank 1 I nee , then SS I l nee
of text.
PRINT beglne by eettlng up a header line Image
In meaory. It then proceeeaa the command line,
opening tha text file and adding any provided
title. The main loop at 'ru^flle' calle 'neuapaga
to start a page, then 1 oope In 'ru_llne' until
end of file, or 'page. length ' llnaa have bean
output .
'620' converts page numbers to aeel l decleal.
*klll8a' rsmovss leading 8a fro*v the page number,
'setdate' lnaerta current system data and time
into the header.
'String' outputa tha page header. See the
llatlng for further Information.
KAflE:
Format for NAtlE le;
MAflE drlve.epec nsw.nems
•dr | ve^epec' la the device name, auch aa B /d8".
'neu_n*me' le the neu volume nisit for the dlak
In the specified device.
NANS uorki by opening the epeclfled drive In
tha mode that treata the entire dlek aa a
file. It reade logical eector 8, Ineerte the
neu name ulth the laet character's high-bit
sst, and writes ths eector back out,
« Both programs ars written In DCS aassmblsr.
The peeudop *var" uorka like 'rmb' in the
nicrouare aassmbler. 'conn' le a 'rmb' usable
by ths external library eubroutlnee. and can
be replaced ulth a 'rmb' If all routines are
merged Into a elngle file.
059 Paged-Print Utility
t program 1b a formatted list utility
9 Takes its input from path provided on
t command line, sends result to standard
t output path. Performs pagination, pags
t numbering and naming.
t First entryi 30r1ar64
t 31rtar84
nam Print
ifpl
type Formatted List Utility
nif
t constants!
44 equ 8c form feed
eof equ 8d3 end-of -4 i 1 e
stdout equ 1 output path
■tderr equ 2 error path
lsopen equ 804 open path
iSrdln equ 88b read line
iSnrln equ *6c write line
fsperr equ 80f print error
ftenit equ 806 quit
page. length equ 55
I variable requirement si
orgv O
% <for the top-of-page information)
% header appearancei
t count, 8c »8d, 8a, 8a
t title chars
« 820,820
t yy/mm/dd hhtmmiss
f 820,820
% PAGE
« ppp
I 8d,8a,sa,8a
68' Micro Journal
47
header v«r 5 ^orw-^ttd ♦ blank line*
title var 40 page heading charm
var 2 for separation
date var 8 date
mpaceml vr 1 separator
time vr 8 time
mpacem2 v*r 2 before page •
word_page var 3 'PAGE *
page v^r 3
ender var 4 blank line
make. title
Ida ,*+ copy till cr
cmpa #td
beq rw_file ready to print
mta , y* elme put in buffer
decb filled?
bne make. title
t Begin read of file
9
print w ftlt* eqi.
-1 (disregard count)
t other requirements!
number comn 9 for binary - decimal
pageno yr 2 current page #
linem vr 1 current linem on page <0-36>
lpath yr 1 input path •
parmsx vr 2 pointer to start commline parroi
buffer yr 128 input buffer
■ begin actual codat
start
stK parmsK save pointer to parms
t preset page •
ldd #0 binary part
std pageno
t preset date/time »rm»
leax date,u
ldd <r/i
sta date+2
sta date^S
stb time+2
stb time*S
t preset blank lines
ldd *sd0a
std header+2
std ender
tfr b,a make two LF
std ender+2
stb header+4
ldd #pnnt_si2e<8*f f
std header
t preset the title »rm» to spacei
leax title, u
ldd #s20<8+42 42 t space
space. put
sta ,*♦
decb
bne space. put
t put spaces between date-page
ldb **20
std spaces2
stb spacesl single one there
1 preset word 'PAGE *
Ida »'E
std word_page+3
ldd #"PA
std word_page
ldb #'G
stb word_page+2
t process input spec
ldx parmsx pointer to it
Ida Ml modMrtid
os9 i loptn
bcs error_exlt problem opening 1
sta ipath new Input path
t get title (if)
leay title, u
ldb #40 max size to get
46
t enter here start of each page
rw_f i le
bsr newspage set new page
a enter here each line of file
rw_l ine
leax buffer, u read source line
ldy #128
Ida ipath
os9 itrdln
bcs error_exit
Ida #mtdout write to std output path
os9 itwrln
bet error_exit
Ida lines update line on page
l nca
cmpa #page. length time new page"?
beC rw_flle yes
sta lines no
bra rw_llne
t exit program with error
error^exi t
empb #eot unless end of file
beq quit ok exit
Ida #stderr say error
os9 ffperr
t exit the prograir
quit
clrb set no error
os9 ftexlt
t Subroutine section
9
t go top new page* updating!
t 1- date, time
t 2- page #
newtpage
clr linn reset 1 oc on page
leay date,u get new date
bsr setdate
leax number, u point where pa goes
ldd pageno
addd #1
std pageno
bsr b2d
ldb #4 max '0' to kill
bsr killOs make leading 0's«spaces
ldd 2,x keep lowir-3 digits
std page b put where belong
ldb 4,x
stb page+2
leax header, u print whole shebang
bra string remote RTS
t external cal It:
ext b2d, setdate, string, killOs
end Start
6B* Micro Journal
Subroutine! Convert binary number to as:
t entryl 30har84
I convert binary * to decimal no i
I tnttri X polntm to 3-byte array,
I not initialized
t D« value to convert
I ilttrn
nam b2d
t first tntryi 30r>ar94
I updatesi none
t variable storagei
I none
I tableBi
power fdb 10000,1000,100,10
I begin codei
b2di
pshs x f y preserve regs
clr f -m fc make local storage
pshs d save value passed to convert
I inlt the ascll array
ldd ft u 00
std , x
std 2,x
stb 4,x
I main loopi get appropriate power
■ of 10, see if remaining value of
I passed amount can have this power
I subtracted! loop.
factor
leay power.pcr
ldb 2,s current offset
aslb
leay b,y
ldd ,i check against value left
« do the (value - i0"4-(2,*n
subsome
cjnpd , y can we?
bcs next. digit no
subd , y yes
lnc , n
bra subsome
next. dlgl t
std , s save updated it
lnc 2,s update index
ltix 1 , x fc pointer in ascll array
Ida 2, a done?
cmpa #4
bne factor no
orb iK should have <«9 left
stb ,x
leas 3,s waste local
puis x,y,pc
end b2di
Subroutinei Get and Convert Date/Tlma
I get system date
I enten Y pointing to l7-byt» array.
I el tersi d.x, y
nam setdate
I storage:
number comn S for numeric conversions
* equateBi
fttlme equ SIS
setdatei
leas ~b,* make space
tfr s,x time packet
os9 fttime t get it
I preparei
ldb M6 iterations
pshs b,y count+dtit
tfr x,y source pointer
I main copy loop
set3no
leax number , u
ldb ,y+ source byte
clra
pshs y
bsr b2d convert to dec
pul s y
ldd number 4-3
ldx l,i
std , x
leax 3,x
stx l,s
dec , s done?
bne set3no no
leas 9,i fix stack
rts
end setdatei
Subroutinei Print String at X-reg
9 print string of character! to
I standard output.
I enter X pointing to strings at f x li
I length of string
nam string
t entry i 30MarB4
t variables i
I none
I declaresi
itwrlt equ s6a
stringt
ldb ,x+ get count
clra make 16-bit
tfr d,y
lnca stdout
os9 lSwrlt
rts
end strlngi
Subroutines Eliminate Leading 0's
t delete leading leros frc
t ascll decimal string
I enten max to do in B
I X points at string
nam ki 1 10s
68' Micro Journal
49
S entry t 30Har84
S variables!
S none
klllOst
pmhm b save max
clrb preset count
killchk
Ida b,x see if '0
cmpa S*0
bne killK dona if not
Ida Me20 reset to space
tta b,x
incb see if maxed
cmpb , s
bne killchk
ki llx
puis b,pc fix stack, exit
end killCmi
069 01 mk Name Chang* Utility
t this program allows for changing
S the nam* of an 059 disk.
S Calling convention)
f 089; name <dnve spec> <new nimt) <RETURN>
S drlvfl spec im valid RGP drive </d0, etc)
S name is 1-32 character*
• separata spec from name Mith space or comma
f Nih name begins 1st non blank, ends & RETURN
beq getname yes
cmpa SS20 same
beq getname
sta ,y+ put to dest
bra driv. chars
getname
Ida ,x bypass spaces
cmpa Ms20
bne gotname
1 eax 1 , x
bra getname
gotname
stx nameptr
ldd «*«<S for whole drive
std ,y ^terminator
I open Mhole drive
1 eax drive. *pec,u name
Ida «3 for update
os9 iSopen
bcs error couldn't
sta opath save •
* read LSN
leax buffer.u where goes
ldy #236
os9 isread do it
bcs error couldn't
leax offmet f x advance to nam
ldy nameptr fc new name
ldb #32 max size of name
nam n*mm
ttl 099 Disk-name changMr
lfpl
type 0S9 Dl sk-name-change Utility
nif
t first entryi 6Aprll84
t variable storage
orgv
drive. spec ^mr 16 for copy of drv parm
nameptr ^mr 2 ptr to name parameter
opath vmr 1 paths of drive
buffer ^mr 256 info sector buffer
1 equate*!
offset set slf offset In Info sec->name
Stderr set 2
t 089 function call si
f Sex It equ *06
fsperr equ SOf
lsopen equ #84
isseek equ S88
1 tread equ S89
iswrit equ s8a
lswrln equ sBc
I Strlngsi
badspec
fee * Improper sped fl cation' , «d
•tart
leay drive. *pec t u cop drv parm-Hocal
drl v. chars
Ida , x+ source from parms
cmpa MMd Invalid?
beq inval id
cmpa •', separator?
50
novename
Ida ,y+
cmpa «s20 invalid?
bcs namend yes, end
sta ,x+
decb filled?
bne movename
namend
cmpb N32 any read?
beq Invalid no, bad
Ida , -x get last char.
or a «s60 set MS bit
sta ,x
t seek back to start
ldx «0
pshs u
Ida opath
tfr x t u
o*9 isseek
pul s u
ldy #256 S. write back
leax buffer ,u
os9 iswrit
bcs error
quit
clrb no error
os9 f sex it
• bad cal 1 on command
Invalid
leax badspec .per say error
Ida tstderr
ldy S100
os9 lSwrln
bra quit
t some disk error encountered
error
Ida tstderr
os9 fsperr say error
bra quit
end start
'68* Micro Journal
Roundoff Errors In The CoCo
Pfter A. SldrK
Kits Soft-Are Systems Corp.
P. O. Box 209
Mt. Klsco, My 10S49
HMle preparing the second edition of my Book on numerics I
mettiods, \ recently ron across a problem with tne numerical
accuracy of the Color Computer (or. more ipec I f leal I y . Its
Microsoft Basic) which may be of Interest to other serious users
of tn 1 s consoler for scientific or engineering applications. In
fiartlculer. Color Computer Basic handles nutter) In a way wh I ch
results In imtne errors which are not norma tty encountered on
other machines.
The very first Program In ««y book Is a very simple
demonstration of Iwiw a computer generates errors tvtn In trivial
problems. It slrre>ly adds 0.0001 to Itself 10.000 times, end
should therefore give en answer of exactly 1. The program is
essent tally tMs r
; REM POOGAAn I
10 5 m
20 fQ« I - I TO 10000
30 S . S ♦ .0001
40 NtXT J
SO PRIN1 S
Mhen running this program on «t\ actual
kinds Of answer s(
computer . we get three
1. Many computers < Including some large mainframes ! have
tried) give an answer less than I.
2. Some computers give en exact answer of I. Tnls generel ly
occurs In those systems which take extra pains to round numbers
to their nearest binary equivalent. Computers which use BCD
arithmetic (such as 6800 systems using Ulterwyk Basics I also give
en e*act answer of I. as do most programmable calculators.
3. The Color Computer, unlike every other co*«ut«r I have
ever tried, gives en answer of more than I. In fact* Its answer
Is I. 10000019.
When yoo consider the reason why errors of tnls type occur,
the feet that tne Color Conputer gives an answer that Is too
large It most unusual. if anything, one would expect an answer
that Is too small, not too large I
Errors of this tvwe are caused by the feet that most decimal
fractions I such as .!• •?* .01. and so an I cannot be exactly
expressed In the binary number system. For example, even the
simple decimal number 0.1 becomes a never-ending binary number
. 000 1 I 00 I I 00 I ! 00 I I 00 I I 00 .... .
with pairs of ones and zeroes repeating forever. Since a
computer cannot possibly hold that infinitely long number . the
right end of such a binary fraction Is cut off. This creates an
error - the number stored Is actually sm M er than It should be.
That Is exactly the point of my sample program. The binary
equivalent of the decimal number 0.0U0I <ln most computers) Is
actually a bit on the small side, and so adding ten thousand of
these will give a Sum that Is also too small.
Many cwnputers ettempt to minimize this problem In a fairly
Straightforward way. lnst»od of just cutting off the right end
of a binary number when It doesn't fit (this Is called
'truncating') arid leaving the left end as Is* these systems
'round off the remaining number to the nearest available binary
number. (This cen be demonstrated with decimal numbers. For
example, truncating the decimal number ^.18 to Just two digits
would give en answer of 5.1* whereas rounding It to the nearest
digit would give an answer of S.2. which Is closer to the actual
value or 5 . 1 B . )
Color Computer Basic also rounds, but It rounds too far I in
the above decimal example, this Is as If 5.19 were rounded UP to
S.3 Instead of to S.21 This leads to a definite error.
In order to see what happens, run the following program.
Its purpose Is to display exactly how Color Computer Basic stores
.0001 In blnaryt
I REM PROGRAM 2
10 LET S-.0001
20 P-VARPTR(S)
JO FOR 1 • P TO P»4
40 PRINT M£Xt,lPEEKt I ))t * "1
SO MCXT I
(n this program, we set S aqua I to 0.0001. In line 20. P Is the
address in memory where S Is stored. The FOR-nExT loop then
prints the five bytes which hold S» In hexadecimal.
Running the program, we get the result
73 SI 87 17 5A
Let us look at this to saa what It means. (1 assume that by
now you ere familiar with the relation between binary numbers and
hexadecimal ni*nbers.)
Color Computer Basic uses five bytes to store numbers . Of
these, the first byte stores the 'characteristic', and the
remaining Four store the 'mantissa'. (To allow for fractional
numbers, Basic does not store numbers as Pure integers, es you
might do in assembly language. 1
The mantissa Is a binary fraction, which Is always equal to
or greater than a decimal 0.5r but less than (. (the only
exception Is t t\e*t the number zero Is stored with a mantissa of
0. > Tfkat Is j the mantissa Is always "norma I I zed' < except for
zero). This means that the first bit Is always a I. Knowing
that the first bit of all mantissas Is always a one. Color
Conputer Basic saves a bit or space by omitting this 1 bit and
only putting In the remaining bits after that. Instead, the
first bit location (the leftmost bit of the second byte of tne
number j Is used to hold the sign of the number ,
Hence the bytes Si &7 17 *>a of our 0.0001 give the mantissa
as foi lows i
01010001 101)0111 0001 I I I 0101)010
"\ / \ / N / \ /
5 SI 8 7 1? 5A
♦ Sign plti O means plus. I would «*e*n minus.
Since the first
actual mantissa Is
bit of the mantissa, a I, is omitted, the
.11010001 101 101 I I 000I0MI 01011010
The character i 9 t lc Is a power of 2 which should be used to
multiply the mant 1 sse to get the correct answer. To allow for
positive and negative powers, the characteristic Is offset by
Ihexl B0, so that a byte of 80 ectuelly means a characteristic of
0. Thus 81 would be e power of 1. while 7F lone less than 801 Is
a power oF - I .
The largest possible characteristic Is FF which (after we
subtract out the B0 offset) becomes 7F In hexadecimal, or 127 In
decimal. Hence the largest number which can be expressed Is
appro* 1 mat a I y
127
2
whl ch
proximately 1.7 x 10
In our example, tne leading byte Is a 79, which Is 13 less
than a hexadecimal 80. Mehce the power Is a -19. and so the
above mantissa should be multiplied by
-13
Z -
In essence. this adds thirteen zeroes In front of the mantissa,
with the result that the binary number which represents the
decimal number 0.0001 In the Color Computer Is e binary
.0000000000000 I 10 1000 I 101
II 00010111 01011010
But tne correct binary number should actually be
.0000000000000 I I 01 000 I 101 101 I I 0001011 I 0101 1000 III....
\ /
32 significant digits
*e note that 0.0001 In binary Is on infinitely long number, with
the remaining portion (beginning with the III....) cut off
because the computer can only store the first 32 significant
digits of the mantissa.
Now comes the Important ouestloni whan a binary number Is
too long to fit Into a 3Z-b1t mantissa, should the and of It
simply be cut off (truncated)? mo. as we hsve already seen* It
should be rounded to the nearest possible binary number.
(Another decimal example may be useful at this point.
Suppose we have a decimal number like 3.I4IS9 and want to express
It In just five digits. it Is obviously better to express It as
3. MIS than 3.I4IS. since 3.14159 Is almost 9.1416 and that makes
a smaller error. The rule In decimal Is that If the first digit
cut off Is 4 or lass. Just truncate. If It Is S or more, then
round by adding a I to the last digit being retelned.}
In binary numbers, IF the first bit of the portion cut off
Is a 0, then we simply truncate. But if It Is a I. than we add 1
to the next digit to round up. Hence when we shorten the correct
answer (A below) to 32 significant digits arid round It (because
the III.... portion we cut off begins with a II. we should get B
be low i
Ai .0000000000000 11010001 10 1 101 I 1 00010111 01011000 III..
Bt .0000000000000 11010001 101 101 I I 00010111 01011001
* \ — /
rounded up from a to a I 1 J
truncate —I
♦Ha nee 8 above Is the best approximation to the decimal 0.0001
that we cen express In 32 bits. But now let us compare this with
the number as It actually exists In the Color Computer (labelled
C below>i
8i .0000000000000 11010001 101 101 I I 000I0III 0101 1001
Ct .0000000000000 M0I000I 1 01 1 01 I I 000101)1 010)1010
♦sDTC trfLLt The correct { rounded) binary number ends with 001,
while the Color Computer's version erw j, w |th 010. The Color
Computer nes obviously rounded up by an extre one In the 45th
piece* hence Its 0.0001 Is about
68' Micro Journal
too bigl Th1« !» a mistake, and thus addltHJ tMj nuiioer to
Itself to. 000 times Is ouaranteed to result In a sum «h!ch Is too
large. (Actually, even If we use a POKE to fix the nK4it*r, the
answer sttll comes out wrong bacauae the same roundlnu process Is
used after each addition, and so the error Is still <n*de.l
the problem Is apparently an error tn Baste* «i rounding
'outlne. we don't even need a very fancy program to see this
error - Just try something like PRtWT 4.102. end you will see
that the computer prints the answer as 4.10200001 Instead, Tne
t>roP1«m Is *1V»in due to a rounding error.
Basic seems to use the same rounding subroutine not Jutt
after a conversion from decimal to binary, but also after
arithmetic operation*. If you went to experiment *om* more to
sea how Color Cemputer Basic mewes such errors, here ere a few
simple Basic lines to try;
PRINT 0.0001*10000 I should give you an answer of 0.
Instead. you will get 4.6566I287C- 10. which just happens to be
equal to
-31
1
This Indicates that trie binary answer. Instead of being Just
1.0000..., (9 In fact 1 .0000000000000000000000000000001 , which Is
an error In the 32nd bit.
Try PRINT 4.102/1 and you get tr>e right answer, Out try I'RInT
4.102/1"] end you get an error.
Another way of d«monstrat tng the same effect *s to
substitute trie I Ine
10 LET S - 0.000) # 10000
in program 2 above. ft will then output the result
61 00 00 00 til
which also Indicates that the rightmost bit of the 32-bit
mant 1 ssa I s a I .
Small errors in the handling of fractional numbers arm
unavoidable and normal In binary conrputerst they ere an Inherent
part of the way In which binary computers handle so-called
*f loat Irtg-POint' numbers. Experienced programmers anticipate
these and work around them. But the rounding routine In Color
Computer Basic Is downright wrong » and potentially dangerous
because It Introduces errors of a type not normal lv present, and
hence not anticipated by even experienced programmers .
111? College Ave
fteglna, Saskatchewan, Canada
S4P 1A6
February 13, 1985
Don Yllllans
As a subscriber to 66 Micro Journal since 1978, 1 have noticed
subtle changes in the journal and the rise and fall of Color
Micro Journal. These changes must come about due to advancing
technology and the desire of the readers to keep abreast of new
developments.
1 read everything 1n 66 Micro Journal. My direct needs are are
support for the Flex system on a 6809 SS50 system using X8AS1C,
TSC Assembler, TSC Editor, TSC Sort Merge and TSC Text Processor.
The educational needs Are for OS-9 on the CoCo. Stylograph and
Dynacalc run on the CoCo. I have accounting packages to run on
both machines. I suspect that I am typical of m&ny readers and
cannot use much of the information printed. However by reading
through, a little bit rubs off and sinks in to ny thought
processes. 1 would like your readers to understand that your bit
bucket prints what you receive. Many of us have solved what to
us was a tricky problem 1n software or hardware. The bit bucket
can be considered as our user group newsletter and It 1s up to us
to contribute.
It Is over 2 years since you printed anything front me so here 1s
■y contribution. The TSC assembler furnished with ny Glial* Flex
printed a string of zeros following the date. Examination of the
object code revealed that the assembler was looking for the
5816? hardware clock on the Giml* CPU. My CPU was SWTPC and my
hardware clock was a JP7 using a 5632. A disk utility that
printed the time on the terminal was modified to write the Ume
Into Flex scratch and the assembler was patched to took at the
Flex scratch rather than the 58167. If the clock was read for
each header there would be a different time on each page. This
method requires that the clock must be polled before the
asseobler 1s used. A key factor was that the 5832 software
presents the time digits 1n reverse order to the 56167 registers.
The software for the JP7 has been printed 1n 68 Micro before.
Anyone desiring help on this should send a formatted S" disk 35
or 46 trfc SS or OS along with S2.00 for Canadian postage. Please
include sane public domain software on the disk. Also a text
file desribing your interests and your system*
Damon Hill
3261 Circle Oak Dr,
Atlanta. GA 30339
nw
Dear Sirs:
I was enjoying your January 1985 Issue of Color Micro
Journal, especially Carl Mann's column on page 26
because I use Telewriter so much. Unfortunantly, a
good portion of that page and page 7 were obscured by
a bad printing job and I'd like to at least get a copy
of those pages.
As Carl Hann probably knows. It's also possible to
use Telewriter's loader program to POKE in 6ns stepping
and transferring drives 2 and 3 to the back side of
double-sided drives. Until I Installed ADOS, that was
my standard startup procedure, which gave me a welcome
Increase 1n disk storage and a convenient means of
backing up text files. The exact POKEs depend on the
version of Disk Basic one Is using.
I'm very sorry to see that you've discontinued
publication of CMJ. I looked forward to reading Mann's
column and the Bas1c09 column. While 68MJ Is of at
least some Interest to me. I may not renew my
subscription If you completely discontinue coverage of
the Color Computer.
Like a lot of owners, I can't really afford to buy a
Glmlx or one of the other big SS-50 systems, the CoCo
was and is the best way for those with a limited budget
to get Into computing cheaply and efFectlvely. If we
can't get good coverage on hardware and software, ft'
going to be difficult to make the transition from games
to programming and serious applications. RAINBOW and
UNDERCOLOR provide some of that coverage, but more Is
needed.
Some day I hope to get a larger and more capable
computer, probably a single-board design and hopefully
68000-based with multl- megabyte memory capability, hard
disk and greatly Improved graphics, the latter being
one of my Interests. The Macintosh Is NOT what 1 want
1n a computer, however. Too expensive, too limited 1n
design and expansion capability and generally just too
"Apple".
Your coverage of single-board computers In recent
Issues of 68MJ Interests me, and I'd like to get the
related back Issues prior to the March '8S Issue If
you'll let oie know how much they are.
0— , ^
52
Weldy Noffatt
20426 Lichfield
Detroit, MI 48221
Don Williams, Publisher
4 68 MICRO JOURNAL
Hlxson, TN 37343
Dear Don,
I've been a long-time reader (since your first Issue)
and sometltie contributor to MICRO JOURNAL, and 1 enjoy
{along with about everything else I find there) your
editorials. You sound like a dyed-in-the-wool Motorola
fan, probably like a lot of your readers. I found your
ravings In the November Issue particularly Inspiring. I
always knew I picked the right machine back In '77
(SwTPc 6800), but It's nice to hear someone else holler
about it.
I had an Inspirational (?) experience recently that
I'd Hke to share. It'll probably have the same effect
on you that It did on me.
I work as a technician for a large
telecommunications company that was once part of a lot
bigger company. If you know what I mean. They recently
sent me to a two-day school to learn about a piece of
ancillary equipment that we will soon be responsible
for. It's made by a company called Tlmeplex, and It's
called a Statistical Time Division Multiplexer. Its
basic function Is to take up to 24 channels of serial
(RS-232C) data, and multiplex them onto two 2^w1re data
links. It comes 1n a box that looks something like a
68 Micro Journal
home computer. Inside, it has a motherboard and bus
architecture, with seven slots for plug-in "modules'.
One of the nodules 1s called the control module* and 1t
controls up to six other modules, each of which carries
four channels of data. The control module has a four-
digit seven-segment LEO display, four thumbwheel
switches (with hex digits) and two switches for
programming. From this 'front panel', you can program
any parameter of any channel-baud rates from 50 to
19,200, number of stop bits, parity,
synchronous/asynchronous operation, number of data
bits, etc. It's programmable to accept ASCII, EBCDIC,
or Baudot code. You can also run diagnostics, which
report the suspected trouble TO THE COMPONENT LEVEL.
I mean, it will tel? you which IC to change! Of course,
on power-up, the main module automatically diagnoses
Its half-dozen major subsystems and reports the results
on the LEO display. The parameters are stored 1n a
battery-backed-up RAM that will maintain its data for
90 days, so you don't have to re-program everything 1f
you power the whole system down. There's also an
optional 'supervisory port' on the control module which
allows you to plug In a CRT, keyboard and printer.
With the keyboard, you can use an extensive built-in
'command language** which allows you to do everything
the thumbwheel-switches allow and much more. Such as
obtaining histogram- type Information about traffic,
errors, etc. on any channel or either data link. Any
channe? of data can be explicitly routed through either
of the data links, or all may be routed through one
link. It also has an optional feature called 'traffic
balancing' where 1t will switch channels between the two
links to balance the traffic. If these multiplexers are
used at both nodes (both the transmitting and the
receiving end, usually miles apart) the built-in
diagnostic facilities allow you to 'loop* the circuit
both locally AND at the far end. This 1s used to
eliminate certain stages of equipment 1n searching for
troubles.
The Instructor for the class (who works for the sane
company I do, not the vendor) was ecstatic about this
little box. He rightly attributed Its tremendous power
and versatility to Its microprocessor-based hardware.
The hardware? The control module has about X6K of
2716 EPROM and I6K of 4XX6-type dynamic RAM. Each
channel module has 8K of onboard RAM for buffering.
Which channels use how much of the buffer under what
circumstances is also programmable (from the main
module, of course!)
Oh yes, the control module and each channel module
has its own microprocessor. A 68000 you say? An 8086?
A 2-80? No. Each board has one 111' ol' 2-MHz 6800 (a
68600). Not a 6809. A 6800. It's also chock full of
6821 PIAs and uses 6854 Data Link Controllers, too.
Strangely, the documentation 1s also a
technician/user's dream. Is this something that
automatically happens to products built around Motorola
microprocessors? The manual was written as If they
were damned proud of this thing and they want to make
sure you Know all about how to use It and program It,
so you'll see how fantastic it is tool
Yours,
Keith Alexander
Letter from:
Technical Systems Consultants, Inc.
February 28, 1985
Dear Don,
I have noticed that "68 Micro" has been
starting to cover 68000 related topics so
I thought I would pass along some
information your readers might find
interesting. As you recall, Technical
8
Systems Consultants designed UniFLEX(tm)
for the 68000 but the original
implementation was on the 6809 since the
68000 was not yet available. We started
the 68000 version in August 1981 and had
it fully operational in July of 1982.
Since that date, we have continually
improved the system and have developed a
full line of support software. When the
68010 became available, we developed a
demand page , virtual memory version of
UniFLEX. This version has been fully
operational since June of 1984. I would
like to point out that the primary
difference between the 68000 and 68010 is
that the 68010 is designed to support a
virtual memory environment which the 68000
can't. UniFLEX is currently the only
available operating system available from
a software house which runs in a demand
page, virtual memory mode on the 68010 and
68020. (There is one other available.
Berkley 4.2 Unix(tm), available "as is rt
from the university.)
The speed and efficiency of UniFLEX
running on a 68010 is absolutely
incredible, but the real winning
combination is UniFLEX and the 68020. The
erformance is awesome 1 We currently have
niFLEX running on several different 68020
systems in house and are in the process of
rewriting every module of the Kernal to
take advantage of the extended instruction
set and addressing modes of the 68020.
Very shortly 1 will be sending you some
kernal timings comparing the 680Q0 t 68010,
and 68020 versions of UniFLEX so you can
see for yourself.
The kernal size for the virtual memory
version of the system is quite compact
considering its complexity. It resides in
approximately 36K of memory. We have done
scaled down versions for process control
which will run in as little as 8K of ROM.
A lot of people don't realize the
versatility of UniFLEX but we have done
many dedicated, scaled down versions of
the system. As an example, it is the
controlling software in the SWTPC PPI
board and also in the GIM1X IOP. Both of
these are small ROM based versions of
UniFLEX!
We have added a large number of
features to 680X0 UniFLEX including new
system calls, and an expanded standard set
of utilities. The list of added features
is too long to describe in detail but a
close examination of the enclosed UniFLEX
manual will allow you to see for yourself.
Besides the standard utilities, we have a
full line of support software including
Extended BASIC, BASIC Precompiler, COBOL,
FORTRAN 77, C, Relocating Assembler,
Linking Loader, and Sort/Merge. What's
most Important, these products have been
running on the 68000 for quite some time
(some as long as 3 years) and are
available now. In the works are the
Enhanced Printer Spooler (probably
available by the time this is read; and an
ANSI Standard Pascal Compiler.
In addition to our product line, there
has been considerable support from outside
vendors in the way of major product
development for UniFLEX, To name a few,
Franz Inc. has ported their Franz Lisp (a
68' Micro Journal
53
full Implementation of Common Lisp for use
In Artificial Intelligence), Logicware has
ported Prolog (again for the AI
community), and Network Research Corp. is
in the process of porting their extremely
powerful networking package. Smalltalk 80
is available under UniFLEX on the
Tektronix 4404. In development (by a
company we can't disclose at this time) is
a DOD verified ADA Compiler which should
be available in the near future. As you
can see, this list Is quite extensive, but
it is only a partial list. We have quite
a few other development projects going on,
both in and out of house, which aren't
auite ready to be revealed to the public,
we will keep you informed.
One product of particular interest is
oar C compiler. Developed in-house,
specifically for the 68000, it is an
extremely efficient compiler. We actually
have two C compilers, one ■ for the 68010
(and 68000), and one for the 68020. The
68020 compiler takes full advantage of the
additional addressing modes as well as the
added instructions (i.e. for bit fields,
etc.). Both compilers are full Unix
System V compatible* The System V
compiler has several extensions over the
"KernLghan & Ritchie" definition,
including enumerations, structure
assignments, passing structures to
functions, returning structures from
functions, void types, and fully qualified
structure and union members. The C
Library, also System V compatible, is very
extensive. I have also enclosed the C
compiler manual (as large as the entire
UniFLEX manual) so you may see for
yourself the completeness of this product.
If you would like to try out 680X0
UniFLEX, there are currently several
systems available (with many more over the
next several months). We have a wide
variety of systems available for various
VME based systems, including Motorola,
Slgnetics, and Force card based systems,
as well as a version for the Motorola
VME-10 system. There are versions also
available for Tektronix, Pixel. and
Momentum machines. The Tektronix 4404 is
a good example of how UniFLEX has been
expanded to support bit-mapped graphics, a
mouse, and other state of the art
hardware. Tektronix is selling the 4404 as
a personal AI work station, but since the
system comes with our C compiler and full
utility set, it is a great development
system. GIMIX has announced their 68000
system which will of course run UniFLEX.
We are currently finishing four ports to a
variety of hardware which we will be
announcing to the world shortly.
Several of our support products are
also available to run on a variety of Unix
or Xenix(tm) based systems and more are
becoming available almost weekly. One
example is our Extended BASIC and
Sort/Merge for the Tandy 6000 (and Model
16). Since our BASIC is written in
assembler language, it runs 5 to 7 times
faster than the BASIC available from
Tandy. If you have a need for any of our
products on a 68000 based Unix system,
give us a call. We may have it or be
working on it.
Hopefully this letter has been
informative to everyone. It should bring
you up to date as far as 680X0 matters are
concerned. One last note. We are still
developing new products for the 6809. We
have two new products we are quite excited
about and they are almost ready to
release. You should be hearing from us
very shortly about these.
Sincerely,
Dave Shirk
Patent and
AT&T Hell
UniFLEX registered in U.S.
Trademark Office.
Unix is a trademark of
Laboratories.
Xenix is a trademark of Microsoft
VlfcTVAL MEMO*? OP OUT I *C SVSttX
TAXZS FULL ASVAJTTJGE <# TM MQtOtOU 6601 «p< fcMZO
Ch.pi-l lilt — Ttcfeftitll lyatfaa Committal., Ik,, b*a tfltmd & virtual
•ortry v.raloo of tta UoirLEX* O9ec.ti.11t tfl*m *M<» »• ap«:lf tcalty
opli«ia«d for tb. arcbitaclur.a of tba Motorola 46010 .ad (6020
*lrrQ.roc**.or*H Tba oprrat inf ayatao pf.a.atly m«i da rh» foinrbia
tmniJ0/0i0 ( tt* Kotorel* ™»ID, a*d rniXE E^apul.ra' Crv-3 •?•!«* f.r«Lona
for other nanufaclurtr'. VW bardvarv in M.oo.4.
Thia r.la.a* i. lt>« Cu Initiation of y.ar. of va»*ar«b a ad d.f.loptHttt lata
#oftv*rt dc.i*ord afc<luai.aly for tb. Koltrofa 6&*fc *»4 «6*«» family of
• icroproceaiora, Althoultt tb. DbtltlX lyatnt off.r* «Cat of (ba I.atur#a
fouod io UH1I- lyiCMft Ma a*rfO(*M«C« i» drastically t> .C L . 7 due to ap
aa.rably ladtua^. iiplnHtit to. «q4 •ptiUic opt »»»*•( ioo for tb. Motorola
tUmn faally.
Th« VniFLEX ayatc* U tb. ooly currently av*«]ahtr «prr»tiDC .oviroaaMDi
•pacifically d.aiiaad for tb* $8*** .hit* amy b* Adapted lo initial raojuaft
Iitb BOH ba.ad appiicaliopa, to «itt*U-u«ir. nkUtnkil wotbatalioaa* to
fall aa>lti.-ti..r l *m>lli-( *atia|. lias-ahai ibj ay.tasa. A typical bar**],
without a.y da.it. <\tiw*r* .111 leaid* in approai*.l.)y 26* of «a»^>ry,
tacboical Syat.ua Cooiultuci, Inc.* u.i foroad lo ] 976 4od ap.ciajia.a lb
op. ratios ijitni, lao*uai«.. and vtilitiva for tba HotoroU e6u *od Mm
tmilf fif *lcrvprac...chrPr Tha autti-aa.r, antll-taakto*, DpirTEl Qaara1 lb«
lyarn ba* ban rvDDiu. ea 6604 b*iad bardwar* amr* S»pt nt>ff, 1**0, *mt on
66000 b*..d bard.arr aipca October* 1962. fortbar toforaalioo aay b. obtained
traat TvcbaieAl ty irm» Copaoitant., tc<. . Ill rro.id.ocf to.d, Cfc.p.l iill. *C
J75U 919v493^1451 or TV* *10-«0-0}40 T6G CfQ..
•WIl la a tradfurk of A7IT/6.M UftoratoriM.
'WttiMl i« a tradturt $t laroa Corporal left
"DqirtEt ■ajiai.rad io ta* 0.6. Faint asd Tradnarh **ttaw
IICRO IMTpMNATlOrVAL
^"aaChT gb*ii - m: 66f46fl
-War In
Micro Internattofial announe#a the availability of a tew
-oat hematic library which la compatible with the following c
compilers LATTICE. KICHOSOFT, C66. 0ESHET, INTHOL. arid
McCOSH/HlCROWARC compilers under PC DOS, MS DOS f FLEX and OS-9.
tn* source code is included tor CORDZC and POLYNOMIAL technique*.
Price of this package is H00 and the contact person la KAftL H.
ZUAN, MICRO IMTERNATIOKAL. 90X 47. EAST FAIRFIELD, VERMONT 05«*ft
^02-32T-38?7.
Product Oeacriptlon She«t Attached.
54
'68* Mrcro Journal
MlCaO IfJTKP NATIONAL
Dear Don,
•Or *> , I**T 4&M4LO 4«<on 0**4 ► AG? V>W!
HtCiO IHTFiHATlQMl C-LAJGUAGC MATHPiaTlCS UBMRT
Tha PTICPO irrEMATIOHAI. C-«ATHE»tiTIGS LTHMT conaiaia Off)
1. *n lneludt file, tUTH.H, which daMnaa i nuAbir of uitful
■athaaallcal eonttinti and dtflnts tht functions In th«
aalhanallcal library ■• returning flo»ti.
?. A library of ■ithmtlctl functions, LIBKATHCR, fanaratad
ualng CORDIC tachnlquta.
J. A library of ■■thaaatlcal function*. LIBhATHCK. genaratad
ualng polynaonlal approi laat lona.
A Hating of HATh.H and tha oontants of tht ltbrirlrs, LIBkATHC,
and UBHATHf art lncludad in tha appandlt.
Tha flla 7E37»C la a iltpla tmst program which eeaonatratea trta
uat and accuracy of tha function*. Two aaapla outputs art
providtd:
T£STC.A*S gtntratad ualng tht TEST.C prograa and tna
CORDIC llbrtry LIBHATHC
TfSTr.ANS gantratad ualng tht TEST.C prograa and tha
II!HATH» library.
Could you please send me Information about the
Wlndrush Screenedltor HI that S.E. Media sells.
Thanks very much. 1 am new to the 68XX fraternity,
having picked up my 6800 (40K), MF-68, and CT-82 at a
local garage sale for S30.00!!! It took a while to
locate your journal - It has been a lot of help thus
far, even though most of the articles deal with the
6809.
Cordially,
Tht aourct Mlt* for both tht CORDIC and polynomial llbrarlta art
lncludad on tha dlae, along with atvtral aistably 1 anguagt
aupport routinaa.
Tha C-Languaga Kathaaitlca Library la available undtr tht
following oparatlng aystaaa: re DOS, *S DOS. FlEJC and OS-9 Tor
uaa with tha llTTICl, wlCaOSOPT. C86. DESKET. IkTKOL and
NcCOSK/MICROVAtE conpllara.
Dear Don,
Readers of '68* MJ who still enjoy
wielding a soldering iron and would like to
add graphics to their S-50 bus '09 system,
might be interested in a design of mine which
I am willing to make available to fellow
enthusiasts. Briefly, the board is a simple
bit-mappedr single-Plane (B&W) video graphics
generator with I6K of screen RAM (2 x 6264)
giving 512 x 256 Pixels. It is based on a
6845. Screen refresh is M transparent " \ i.e.
the CPU is not retarded and there is no
disturbance to the display during CPU access
of VRAM. Extended addressing is supported.
Actually* the main reason for developing
the board was to improve my "C programming
ability. Apart from a small "core" of
low-level drivers in machine code, the
graphics support routines (symbol and line
drawingi etc) are written in "C".
I would be pleased to receive enquiries.
If there is sufficient interest shown, I
could be persuaded to get a quantity of
boards fabricated for distribution at minimal
cost. (Enquiries from potential US
distributors also welcome.)
Yours sincerely,
jt/UckmU T fi«Mj^
Michael J. Bauer
P.O. Box 221
Ivanhoe
victoria, 3079
AUSTRALIA
^C^~^ — -
Craig C. Henrlkson, Ph.D.
37 Herrlck Avenue
Oelmar, NY 12054
1810 N.E. fremont
Portland, OR 97212
Dear Sirs;
Concerning E. M. Pass's enhancement of SHTPC's
MIRROR.CMD, you left out a 'bis xloop0' before Vestor
ldb trgdrv' and 1 think the four lines before 'chks16
Ida maxsec* go before 'chksl? tst single*. You are sav
Ing the Target SIR and replacing it after the mirroring
Is complete.
Also I modified TSC's PR.CMD to handle superscripts
and subscripts and would be happy to share sane If It's
of interest to your readers.
Also, why is 1t that your subscription rate less as
to go fro* 1 year to 2 years than fro* 2 years to 37
Yours truly.
Gary Lemolne
4522 N. 22 Street
Milwaukee, WI. 53209
68 Micro Journal
5900 Cassandra Smith
P.O. Box 649
Mxson, TK 37343
Help:
I have a problem which I hope some of my fellow 68 Micro
readtrs may be able to assist me with.
fty Clmlx system is great, works well and Is very useful.
But, using the G1m1x video board and drivers for
terminal emulation leaves a lot to be desired. Using a
PI A for keyboard Input and the primitive "terminal-like"
functions Is very limiting.
Surely others out there have felt this problem, and
perhaps solved 1t be rewr1tt1r>e th* software. I would
sure like to hear from anyone willing to share their
experience with me.
thank you for your time.
Sincere
OJ -L ^
Jim Bert rand
WA9CXG
'68' Micro Journal
55
Gentlemen;
Has anyone Interfaced the following printers with the
StfTPC 6600 CPU with a serial port, 1st choice, Parallerf
port 2nd choice. Printers are: Radio Shack,
Gorilla/ Banana, Star Gemtnf-lOX, Okldata, Epson.
Would appreciate any help. Thanks.
• •• CLOBl - O/P c*
CL061 LDA i*OD
SI nee rely >
J ^^jL^^t^r
John J. Florlno
518 - 85th Street
Brooklyn, N.Y. 11209
MEBTCH EBTEfi Applied Huilnt «■ Svf mti
2 Pea Pond Unt, Br,*rdi/f rU»o* . K-V. 10310
Ffb'utrr 21. IV49
TO: Bah Ho
RE: SMTP* P.CHD
Dear Fob.
When Ke firet purchased our SWTPc computer back in '7?r Ne never could
get the printer driver (P.CMD) to work with Our Centronics 737 printer.
B»sic*t)y p the computer ma* not Acknowledging tho GUST lead, and would
hang up after on ■ character wu sent, A* a niutl. we wrote a driver
with timing loop* for chir*ttirt And carnage return, tht latter bated
upon number of character* tent. We've been ufting this driver for an
years, which it tcmiwhit iIoni out adaquata.
Recent mechanical difficulty with the 737 carnage return* however,
hat caused overwrite* and lomt data in thi* unacknowledged mar had. and
prompted via to invest in ar< Epson fX-8fl». iThankb far the recommendation
and prompt delivery* Thua, We reinvestigated the P.CMD iseua - This time
a little older and wiser'
A* it turna out. we misted a au&tia point: The SWTPc documentation for
the MP-LA board ahowa a BUST lead indication with a little "bar- over
the word 'BUST*. Title of course mean* 'inverted BUST' or "NOT BUST*.
Apparently the P.CKD illustrated w at written before parallel printer
standard* were adopted, since meet prlntere wee a r.on~»nv*rted BUSY*
(farther study of tho documentation revealed tomi other interesting
pointa auch at? ttve fact that the computer itti the ready indication
aa a roault of a TRANSITION of I he buey lead - Something He, in '79
did not understand from the documentation «t the time, J
With minor modification* to the bit pattern* atored into the control
rafiiater inverted Z-bitl Mi were delighted to m the Spaon come to
life and literelly pour out information in perfect form. Further, the
tame driver worked perfectly with 737 - with about a 20% increase in
epeed dieptte ottssional alow head return* 1
A listing le encloaad - lomt of the Original labels are renamed due to
many coding iterations* Out it ia essentially the tame aa the SwTPc
driver. The major change* %rm> circled. Tog may with to drop thi* ia the
*Blt Bucket" taction fo» tho*e who have had similar protilima.
Beat Regard* ■ j Ml *t CI ;
Bill Aden*
P. 9. Tht* vii printed with the revised driver on the 137 - The listing
w*i done on the £p*o/i uaing the same. The Epson i* about three timea
fitter, enhancing our programming effort on XDMS-1V Li nad to gat it ml
UTILITY R112
I .OUT - 03<-2t'-flS
aea p.cnd - faKtk.in. KfciNTtK drive*
• Ol/:i/(»S b« bill Adri«*
• ?<*• C Ml I i i UU* *V I On* U»lnC)t
m CAI - WJ9Y lead (Nm JnvcrtedJ
• CAl" - 6TfcQ»E C Invar tmdl
C300
C3*0 OCM»
C305 IA OOlf
jcsoh 16 oott
C30b 16 OA37
C3QE
EOIC
CJlu
0*
C31 1
♦o
C3l2
►f
CJli
•o
CSle
34
12
C3lo
AC
ec
C3I*
SO
^
cue
A7
01
C3ID
B6
FF
C3IF
A7
04
C32l
84
JC
l:_:
A7
oi
tS/3
33
<f2
CRC*
■C3tr#
SIZE
FOB
f NDS IN IT
-P. COR ItJlE^FflCE
ini r
LW*
|H|f 1
thlfniV S^CTGRS
CLOB
Laua
CLDSI
puic
L»SA
PUTCl
f/CMr
LhtiA
PCH>- 1
PORT
FDB
eeOiC
-Opfjulv Po*-t 17
SIDE
FC*
KbVL>
FCB
Q
FL fit
Ft*
• FF
CNIfi
FCb
■ •■ 1MIT1 - INITIALIZE *1A t. PftlNT£R
INltl PSHS «.A
L0/( "niy ^*" -INI) P1A
Li>A ^»3B j «8EL DDRS
BTA f »f
LDA eeFF -5tf OUIP\JT
fifA J*r*-^
LDA f a)f5C J -SEL OAT A REGS
StA ^ | ,i " ^
PULS «,A,PC
C3^»
BD
IA
C32B
-ft
FC
C32D
^•
IA
C32T
AL
ec
C332
A?
84
C334
6F
sl:
C337
90
23
C33^
Cift
3*
C33»
A7
01
C330
BD
ID
C33F
Hb
M
'. -V|
u:>
• i
C3<3
35
•*
C24S
34
10
CJ47
6U
m
C^eA
2B
OE
*ae PVTCl - PfUNT A-ftCP
CHAR
FVlTCl B9R
PO*l
ML.
PUTCl
PQW8
X,B,A
-PVIT 0*AR
UH
PORT.PCR
HTA
o.x
CL«^
FLAS-rPCR
BSR
Ji^m v
LOA (
C^2i-^
-STftcee lo
STA
" i,i-^
BfiR
^PXa**-^
-MAJT
LDA /
^oe3C^
-STROBE KI
»TA V
■^rir^
PJL8
X.B.A.PC
JT1L.1TY 01 128
• •a P>CMK1 - CHECK FLABr*PDRT
PCMK I PSH9 H
TBT FLAfJ,PCR
BKl PCr«<» -R€ADY
P.OU1 - 02-SI-B5
•7
C4C4E
C3*F 60
C351 2A
ct.:^ &L
C3S3 CO 05
C157 63 BC
C3SA 33 90
C33C 39
ERROR (Bl DETECTED
BYrVBOL TABLE t
LOX
PCRT»PCR
TST
iiX
BPI,
PCMKV
-r«]T RtADY
T&T
♦ .i
BSR
RTAN
-RII&Y-ACKNLfl MA IT
con
PL.AB.PCR
FC8
END
CL06
C3f»
CLGSI
C3?7
OWTR
C313
CMOS
C35D
FLAG
C7I?
INIT
C302
INITI
C3M
PCMK
C3QB
PCXKt
C34S
PW*
C35A
PORT
C30€
PL| C
C30B
PUICI
C379
RSVD
C311
R1WX
C3SC
sine
C310
SIZE
C300
Svoln Solated
Thoreleln Stonfcokavei 60
M.3600 Kongaberq
N0fl**T
1 have hod the Oleasaure to reOd your *>»gaaine for a few month*, and I
like what I hove read. But there are thlnge wMch I would like to eee
mora about* 1 an thinking of 680 DO beeed Machine* which are running
ioai kind of JKIX. There vis an article In the January ieaue which t
found interesting, naaeiy a short rewlew of UMIX. If you can print wore
articles of that fclnrt. 1 would* be very pleeeod.
I do have *«eh a aechlne. b^ted on the l/UE-bu* (Europe) with a B800O CPU
mnn the nere«aery RAA, Hm»r, \*rl«>PDrH, floppy mnf Winchester. It ie
running one of the UNIX lookellkea. noeiely 10RIS . Thl* operating ay aten
la delivered by Whl te&nl th ♦ and 1* easily edapted on aoet oBOOO beaed
»*chlnee. There Is not need for a etemory managewent ayeten a* for «o*t
UNIX »y*t.e»*,
iflfltS i« 9 small *y*teai let* then 2 nBytea, end the need fof lorge
disc* 1* Aut preeent. Actuelly, the first tine 1 started the ayato*. 1
had only 2 floopydrivaa. 6?0«Bytet eech* and it wee to live with. I had
to split tne eyaten into throe different dlaca , end change between them
and «y awn detedlece when neceeaary. But of course, the w IrXhatter ,
SABytea, wea ordered within on year. But since IDRIS 1* that aaoll,
there ere Mat llaltatloni in it, compared with other Unix eyate**. But
the moat useful stuff ie there. But the nice thing* like sad. awk, lex,
yacc *n4 meko Is not there. But If you sre used to clay with UNIX, you
will feel yourself at hoeta.
The eyetem he* possibi II tla* for compiling proanmi written In
end C, The compiler ia powerful with poaaiblMty to tune It f
epeeiric neede. There ie also en aeeenbler e* pert of the Co
eyatem, and a linkor of Count, The Pascal Is very Limit
eii the nice #4tantione which atkis the lengue^e useful. f
the case with the C. which does not leek anything, but diff
from other C,co»pilere, b t it absolutely to live with.
that
far*
i* not
i little
supplied with the eyetem, £« a ecreen editor,
tor le there of Course, but very eoon, you want to
o pley with. To solve thi* Problem, I got a
U.K.. which was named Thief (! did not etolt it!),
editor, end very powerful, I have Played with a
r&, but none of them cm beet thle one. Vou oeybe
qe nimi, just as I didl It is short for* for •Thi*
• r*4 Find is an another screen sdltot. rhare 1*
» editor loclcsl The possibility to define a
the screen and copy thi* to anywhere elee In the
The editor he* elso slnpel text foreettlngt loft
One thing which is not
The Btondertl lino edi
hove a ecreen editor t
screen editor from
Thl* le en EflACS*like
few other screen edlto
wonder about the etrai
Here l»n*t Even Find
only one function thi
rectangular part of
file or on the ecreen
end right adjustment.
Triere Is one problem I do t>mv, there le very few, actually none,
softwore package*, which oxueute under I0RI5, eveileble here In Norway.
Whitesmith hee aendt out a short list of things they claim sre
availably* but [ guess there are more out there. 1 em eefleciellr
interested In databases, celuletlon Program* and text formatter*. If
there mrt anyone out there who know* about sources of auch stuff, please
tell me. I can't see mnf reeeon to make thle toola myatlf, airten they do
e^lst someuhere.
Another thing which night Interest you. Is ■ short description of the
herdwero I use. It is a aingalboerd system, where everything reeldee sn
the bootdr except the dower suOoiy. floppy and Winchester with the
56
'68' Micro Journal
controller. On board you will find the 6800D , Sl?*8y1e ORAM. WBKByte
CPflOfl, two serial port*. tlaer. peralell port md the VH£ lfit*rr«ci.
The litter 1* not used now, Out will bo whin ir« lending t*6 systea. Tn *
life or the board Is smell. l60*n by 235*n>< itanderd dobbel Euro&oard.
So together with 3.51nch drives and a switching power supply. 11. btcnmii
a wry compact •UNIX* mcMtii< npneapentl va too (about $77(30 h»re in
Norway, but we h»ve higher prices on hardware than In ll,S,J.
If there ara people out there, who would lika to Know aorp about th.ii
ho*vbrew projact. Just send ■ note ta tne oddtes below and tnfur<r>|utiun
wilt oe sand you, The PCB Is available together with the documentation
and lisence.
Melt, nan you know about ■ aystea itfMch differs lox Troa what
you ere familiar with.
of
\nt otrtat ion addrasi
By v I rid Moo
ueungsdelsvelen 1
N-3000 KonQeberQ
Norway
*5 coex road.
EgVLAJfDS.
CAP! TOWN, 7700
SOUTH affile*.
6TR FEBRUARY IMS
DRAR DON.
PLEASE flap SWCLOSBD A JUfHASHBP VBRSIQif OF NIC£> V33BL'3
UK UTILITY A3 PUBLISHED IB THB NOVEMBER S4 ISSUE OP da HtCRO
JOURNAL* I WOULD ALSO LIKE TO BR1H& TO YOUR ATTENTION A PHOBLBB
WITH BEN 3LAGHSKKBS DO UTlLlTy AS PUBUS*ID t* THa" JANUARY »i
ISSUE. THE UTILITY ASSURES THAT THE Y INDEX REGISTER IS HOT
DISTURBED 9Y THE UTILITY THAT 13 C*LLfO BY FLEX'S 0OCKBD-. TO
CORRECT THIS PROBLEM THE Y INDEX SHOULD EI PRESERVED BEFORE
CALLING 'DOCKHD' ARD RESTORED UPOH ITS RETURN. Ifl r
PSH3 Y
J3B OOCBND
PU 9 Y
RON ANOB SON HEBTIONBO THAT PBTBR STARK HAS USED A BYTB TO
RECORD THE TINE THAT A PtLl WAS WRITTBa TO DISK. IN THE INTERESTS
DP STANDARDS WHICH VTB WAS USED! RON ALSO HBJITIDH80 VARIANTS OF
THB PLBX PILE SPEC. SYNTAX. HE DID NOT HBNTID* A FURTHER VARIANT
WHICH IS ALSO VALID. AND THAT IS PILBMAHB.DRIVB BUNBBR OR ORrVf
UNBBR.F1LBBANB WHB E THB DEFAULT EXTENSION IS USED, IC.
***LI3T LETTBft.2 WHERE THE DEFAULT EXTEH3ZOH IS .TXT
I WOULD LIKE TO WISH 66 H1CRO JOURNAL BVBRV SUCCESS FOR THE
FUTURE. BYTE LOOKS X 1KB A JOURNAL PON t*H ANO ITS CLONES THESE
DAYS.
YOURS PAITHPULLV.
JOHN RITCHIE
LOB. CMD RCwlSTED
SEE 6* MICRO JOURNAL NOVEMBER 1984, PAGE 32
T»C PUBLIBME PROGRAM MAS SEVERAL PROBLEMS.
1. I* FLE* PROMPT LOCATION H DIFFERENT
FOR THE BCMERHL VERSION OF FLEX,
2. IF AM RTTEMPT IB MODE TO OPEN A f 1L£ THAT
ALREADY Ex 18TB THE PROGRAM CRASHES.
3. MEMEND NOT flSSTDRSO TO IT'S FORMER WALU6.
THE FOLLOWIMO CHANOEB HAVE BEEN MADE.
1. THE LEG FILE THAT IS OPENED DEFAULTS TO
T>€ WORK DRIVE.
2. THE BLOCK TRANSFER ROUTINE
3. THE MEU VECTORS FOR INCH2. OUTCH2. FHBCLB
AM) MEMEND ORE ONLV INSTALLED IF THE
OPENINB OF THE LOO FILE 16 SUCCESSFUL.
A. ONLY THE SAVED VECTORS. THE MEW INCH.
DUTCH. FMBCLB ROUTINE II AMD THE LOO FILE
FCB ARE RELOCATED.
3. THE ABOVE PROBLEMS FIXED.
AN UNDOCUMENTED FLEX VARIABLE IB SAVED AND
RESTORED. IT IB LOSLED RET ADR, LOCATED
AI 4CC43/4.
MOULD 60METJNE ENLIGHTEN ME
AS TO WHAT IT IS *
SEE 0RI01NAL PROBHAM LISTING FOR COMMENTS.
THIS CODE WAS DERIVCO FROM A DISASSEMBLY.
EXTERNAL LABEL EQUATES
MOC
FCBCXf
EOU
12
CCOD
DEFDRV
EOU
6CCO0
CD2D
OETFIL
EOU
6CD2D
CC28
ME ME NO
E«J
•CC2B
CC43
RfTAOA
EOU
6CC«3
CC4E
PROMPT
EOU
6CC4E
COO 3
WARNS
EOU
•CD03
COOC
INC 2
EDU
aCDOC
CD 13
OUTCH2
EOU
• CD22
CD IE
PfiTRNB)
ECU
• CD1E
CDi*
RPTERR
EOU
•CD3F
DAOl
FMSCLS
EOU
604D3
DA Oft
FMQ
COU
60406
DA 09
FCBPYR
EOU
VD609
ClOO
ORG
ClOO
20 la
STRRTO
BRA
C102
Bl 2E Bl
3A
FCB
ClO*
81
C107
20 52 AS
ad
FCC
ClOB
a] 93 48
43
ciof
*A 20 42
»
CU3
24 *A 9,2
C116
8* GO
START 1
LOO
eftl.62E.66J T 63A.4ai
Clie B7
CCOD
STO
DEFDRV
CI IB 30
80 016D
LEAt:
LOOFCB. PCH
CI IF BD
CD2D
JSR
OETFIL
CI 22 EC
04
LOO
4.X
C124 1083
AFA6
CMPD
««4F*6
C12« 2*
10
BNE
L0O8T
CI2A EC
OS
LBD
6. X
CI2C 1083
6S0O
CMPD
664&00
C130 24
OS
BNE
lobst
C132 0C
48
LDD
B, X
Cl3a E3
OA
ROOD
10. Jt
C136 1027
00C2
LBEO
LOOEND
C13A CC
4C4F LCOST LDD
■ a4C F
CI 3D ED
OC
8T0
FCBEXT, X
C13F U
47
LDA
aea7
C141 ED
OC
6TD
14. X
C143 FC
CC43
LDD
RETADR
CI 44 ED
«D OOFA
8TD
AETA.PCR
ClaA FC
CDI3
LDO
OUTCH2»i
CI 40 ED
8D CWJF3
8T0
OVEC.PCR
C131 FC
COOD
LDD
INCH2«J
C15A EO
BD OOFO
STD
IVEC.PCR
C13B FC
04 4
LDD
rMSCLS*!
CIS* CD
88 04C8
STD
CLBV. PCR
C13F FC
CC2B
LDD
MEMCND
ClfcJ ED
BD dOOC
8T0
MEnO.PCR SAVE OLD MEMEND
C164 83
018
SOW)
461 ZE
C169 23
£2
BC8
M2L0W
C16B ED
80 00 1
6TD
OWA£MD,PCR SAVE NEW MEMEND
Cl&F IF
03
TFR
D,u
C171 33
ai
LEAU
1,U *EU START AOORCSS
CIT3 CC
0047
LDD
Rl.ENOTH/2 NUMBER OF BYTES ^O XFER
CITS 31
SD 00C4
LERV
BASE, PCR OCT OLD START AOORCSS
CI7A 8D
62
BSR
BLKIFR BLOCK MOVE ROUTINE
C17C 30
C9 OB4E
LEAK
LOOFCB -BASE, U
ClOO AF
C9 DOOE
STI
BAUFC8-BA8E.U BAVE LOG FCB
C184 86
•2
LDA
#2
CI86 A7
•a
8TA
0. X
ClOB BD
D40S
J8R
FMS
C16B 2S
28
B far
BMO
CJBD EC
CS 0002
LDO
OMNE MO -BASE. U
C191 FD
CC2B
STD
MEMEND SET MEM MEMEND
CI 94 30
CS ODIF
LEAK
OCLOBS-BAfiE.U
C198 BF
D604
STX
FRSCL8+I
C19t 20
C9 OOOO
LEAK
BASE-BRSE. U
C19F BF
CD13
STX
OUTCH2+J
C1R2 3
C9 003F
LEAX
JNPUT^BABE.U
C106 BF
CDOD
STX
INCH2*1
CIAS CC
3C2E
LDD
•43E3E
C1AC FD
CC4E
BTO
PROMPT
ClAF B7
ccso
STA
PAOMPt*2
C1B2 7E
C0O3
JMP
WARMS
CIB3, BD
C03F BOD
JSR
RPTERR
CIB6 BD
0*03
JSR
FHBCLS
C1B6 7E
COO 3
JMP
MARM6
CI BE 34
C1C0 4C
CIC1 AE
CIC3 AF
C1C3 3A
CICt 26
CIC8 4A
CIC9 2S
CICB 35
' f.
CO
• BLOCK MOVE ROUTINE
• O -LENGTH/ 2
• Y-Ol.D START ADDRE88
• U-MLW START ADDRESS
•
BLKXFR P8H8 U
I MCA
Bl LOX ,*-•
BTji .u^*
DECS
BNE Bl
OCCA
BNE Bl
PULB U.PC
01 FOR SYS DRV AS DEFAULT
ClCO
ClDl
CID*
C1DB
CtOA
ClOE
ClE2
CIC6
CIEA
ClEC
CIF2
C1F6
CJFA
CIFC
C200
C202
C2C4
C246
C209
C24S
C20E
C21I
C2I3
C 17
C219
C2IB
C21E
C220
C223
C223
C22A
C22A
C22D
C22F
C232
C233
C238
C23B
C23C 2*
C240
£242
C244
C243
C2A6
C2A8
30 BO 0009.
BD CO IE
31 80 0066
20 37
20 20 20 AC
4F 34 20 43
4E 4F 33 47
48 20 AD AS
40 4F 32 39
20 16 4F 32
20 41 20 4C
AF 4 7 20 2D
2D 04
IOSE C013
LEAK
JSR
LEAY
MSGO.PCR
PSTRNG
BASE. CO)
RESTOR
/— MOT ENTaJaN MEMOFIV FOA
OUTCHi*
14. V
A LOO ~-/,e*4
D4
DAOS
06
C03F
7E CD03
EC *i
1GB3 CC2B
26 03
EC 24
FO CC2B
EC 26
FD CC43
EC 28
FD CO 1 3
CHECK TO SEE IF ANOTHER
PROGRAM ALTERED MEMEND.
BET ORIGINAL MEMEND
2A
COOD
2C
0404
2B2B
CCAE
CC30
CD03
LOSENO LOV
LOX
LDA
6TA
JSR
BEO
JSR
JMP
RESTOR LDD
CMPD
PNE
It DO
STD
NOMECH LDD
BTO
LDD
673
LDD
STD
LDO
STD
LDD
BTO
STA
JMP
• THE CODE WmICM FOLLOWS IB RELOCATED
O. Jt
FMS
RESTOR
RPTERR
WARMS
2. V
MEMEND
NOMECH
6.V
RETADR
B. V
DIJTCK2. 1
10. V
1NCH2*1
12. Y
FMOCL6»i
•62B2B
PROMPT
PROMPTS
BASE
BRA
OWNEND
RNB
MEND
RHB
RET A
RMB
RETB
RM8
OVEC
RhB
1VEC
RMB
68' Micro Journal
57
C24A
CLSV
«K8
2
CiiC
SftVFCB
HUB
2
C2AZ
34
16
OUTPTJ
P9H6
fi, B. *
C2S0
30
BC 39
LEA I
1L0GFC*. PC«
C253
BD
D406
JBR
FMQ
C23&
30
BC ED
LE«I
<ovec,»CR
C259
oo
*A
JSn
['.'. *1
C2sa
3tt
96
OUTRET
PtXS
O.B. K.PC
C290
34
16
OCLOBE
PBMS
P.B.I
C25F
ec
Dd09
LDJ£
FCBPTR
C262
27
F7
MO
OOTft£T
C2fe*
I.L
B4
CLL1BT
LOO
O, X
C266
34
06
PSME
fi.B
C26B
3D
«6 C4
LEAK
-26. K
C2&V
M
«c oe
CM*I
4BOVFCB. PC*
C?6£
27
07
*E0
1QN0RE
C270
06
04
LD*
•4
C272
»>
64
BTA
O.I
C274
fc*0
04O6
JSR
FHS
C277
M
£l
10NQAE
LlH
0,S**
C2?9
26
C9
8**T
CLLlBT
C27>
33
96
PULB
A, B.K,PC
C2T0
7.i
14
:**>ot
PSHfl
B.I
C27F
30
ec C6
LEAK
<1VEC.PCR
C3B2
w>
94
J8R
CO, 13
C2fit
30
ec 05
LEAK
(LOGFCB.PC*
C2B7
8U
D406
JBA
OtS
C2B0
39
94
POLS
8. K.PC
C26C
<JOOFCB
EOU
•
C2BC
RHB
•40
C2CC
OLTBUT
EOU
*
C2CC
RHB
*lOO
OOBE
LENGTH
EOU
OtJTBUf-BABE
oiac
SIZE
EOU
END
•-BASE
BTfiRTO
ERR0R4BJ DETCCTEO
ZS7 Electronic Specialists, Inc.
171 South Main Sir—\ t Natick, Mass. 01760
(617) 655-1532
SOFTWARE PROTECTION CUIDE 6. CATALOG
Electronic Specialists is offering a 40 page color
catalog describing power line problems such as noise
and high voltage spikes. Damaging and disruptive
effects on Program execution are described.
Typical Software problems and suggested solutions
are Included. Hundreds of protective and interference
cure products are described. Request Catalog 851.
David R. Forrest
1934 Wood* in lourt
Kirk wood, HLStourt 6)122
C5U) 965-6577
Don tfilliaai, Sr.
60' Micro Journal
5900 caieandra S«Ub
P.O. Box 6*9
Hixson. W 57343
Dear Don:
•ncloeed rind a dt«k witb. a utility X wrote that I find very
useful. I progr» primarily Ln xa/LSIC *t\6 fci»v« need of Hex
coovtrtiona quite often. P«rhaf>* other* would «leo find it
useful.
I've bee* reading the Journal since Its inception and uie aoaaithlng
free) alanet every Ineue. TW*st
David Forrfcat
« Hit CONVERSION UTILITY
•
« PLACEO IK PUBLIC SOAAIN JO JAN 05
I
t 0. R. FORREST
■ 1834 NOQDFU COURT
i KIRJdfOGO, MSSOHRI 63122
♦ 1314) 965-6577
I
i POSITION IKDCPENOEair COOE
♦ LOAOS IN UTILITY COrHAN* SPACE tlCIOOl
*
* syntat or cowwnd iarsunent cam be hckii OR DECIIWU.)
* ♦♦♦HEX CftRSUnao
i HANPLES KCI IC003 or HE I 256
t DOS EM1AHS
COCJ
•WFIS
EOU
IC003
00S NAAflSltfT
C0I8
PUTCHR
CGIU
iCDIfl
PUT CHARACTER ROUTINE
C024
PCRIF
EOU
iC024
CAANIA6E RETURN LINE FEED
C042
GETHEI
EMI
IC042
$H MCI NUHBER FROM BUFFER
C048
INOEC
EOU
ICD4B
GET OCCIWW, MINER FRO* WfFER
C039
mm
EOU
IC039
OUTPlfl OECIIttl NIMBER
cose
OUIrttl
EOU
IC03C
OUTPUT KEI NWBER
C027
J41TCH
EMI
IC027
SET MEET BUFfER CHARACTER
ens
NITPNT
EOU
«CCIS
POINTER TO NEfT BUFFER CHARACTER
COIE
PSTRM6
EOU
ICOIC
PRIN! STRIUS 14 TIW1NATES
C100
0R6
1C100
CI 00 20
03
HEX
BRA
IIST
RUNS IN UTILITY COm^iNO SPACE
C102 02
VN
FCB
a
VERSION NJHBER
CI 03 0002
HEI«
FOB
J
HE I NUITBER
CIO) 10
C027
LIST
JSR
N1TCN
GET NEIT CHARACTER
cioe si
24
CHPA
If
SEE TF HE) SIM
CIOA 24
•5
Bl€
DEC
CHECK OCCINAl
eioc to
CD47
J BR
BETJ6CI
BET NEJ NUItfiEt
CIOF 20
01
BRA
OUTWIT
60 PRINT IT
fIF NOT IK! SISN
cm 81
20
EEC
CKPA
«20
StIP
CJ 13 27
FO
KQ
LIST
SPACES
CHS 7A
cess
occ
NrfPNf
BACI UP POINTER
cue 10
CD48
JSR
moec
6ET DECUML MUHBER
cue 12
NOP
0N6P INTO OUTPUT
i
aOUTPUT ROUTINE
C1IC 25
35
OUTPUT
BCS
IRJtOt
IF ERROR
CUE AF
8C £2
STI
HEINO.PCR STORE BINARY NUMBER
C121 30
BC OF
L£A>
HEIN0,PCR POINT TO NUMBER
C124 BO
CB24
JSR
PCRLF
HEN LINE TO MINT ON
C127 B6
24
tOA
II
SeT UP NEI SVnBOL
C129 10
coze
JSR
riTTCNR
OUTPUT HEX SIGN
C17C BO
cox
JSR
OUTHfl
OUTPUT HEX NI6H OftKR
C12F 30
01
LEAK
\,1
STEP TO LOU flftOER
cm 10
C03C
JSR
0UTHE1
OUTPUT Mii L« OROER
CI 34 30
sc ec
LEAK
HE1NCPCR POUT TO NIA>I€R ASAIN
m? so
20
LOA
U20
OUTPUT A
C139 10
cots
JSR
PUTCHR
SPACE
C13C BO
eow
JSR
OUTOEC
OUTPUT DEC 1 HAL NUB8CR
C13F BO
C024
JSR
PCRtf
SPACE TO m LJNE
CH2 7E
C003
J«P
NARnS
Rf TISN TO PCS
tERRORS"
INVAl FCC 'INVALID INPUT' ,104
CMS 4? 4E 56 4)
C149 4C 49 44 20
C140 49 4E 50 55
CIS) 54 04
CIS3 30 St EF ERROR IEAI INVAl,PCR POINT TO NESSA6E
CIS* cO COIE
CI 59 BO C024
CISC 7E C003
|RR0R(Sl OETECTEO
JSR PSTRJNj
JSR PCRLF CLEAR RUffCR IF REOIRECTEO PRINTER
JJIP NARRS ANO QUIT
ENO IK1
SYMBOL TABLE!
DEC CM1 ERROR CI33
6ETKEI C042
Hfl
CIW
KEINO CI03
INBCC C048 INVAl CMS
LIST CMS
NTTCH
C027
NITPNT CC15
OUTOEC C039 007*1 CDJC
OUTPUT CI1C
PCRiP
CW4
PSTRN6 C61C
PUTCFR C018 VN CI02
HUMS C003
58
*68" Micro Journal
Classified Advertising
TELETYPE Model 43 PRINTER - with serial
(RS232) Interface, and full ASCII keyboard.
LIKE NEW - New cost 51295.00-ONLY $759.00
ready to run.
Call Tom - Bob, CPI (615) 842-4600
For Sale: Motorola 128K Memory Boards,
removed from SWPTC S/09 $795.00, SWPTC
8212 Terminals Demostrators $795.00,
Nazelwood Dynamic 64K Memory Boards
$395.00 Call ask for Tom (615) 842-4600
Wanted to Buy: Used 6800 * 6809 FLEX
software. Commercial and public domain.
Send description and asking price to: John
Current, P.O. Box 273 Honolulu, HI 96859
OS-9™ SOFTWARE
SDISK— Standard disk driver module allows
the use of 35, 40, or 80 track double sided
drives with COCO OS-9 plus you can
read/write/format the OS-9 formats used by
other OS-9 systems. $29.95
SDISK + BOOTFIX— As above plus boot
directly from a double sided diskette S35.95
FILTER KIT #1— Eleven OS-9 utilities for
''wild card" directory lists, copies, moves,
deletes, sorts, etc. Now includes disk sector
edit utility also, $29.95 ($31.95)
FILTER KIT #2— Macgen command macro
generator builds new commands by com-
bining old ones with parameter substitution,
10 other utilities. $29.95 ($31.95)
HACKER'S KIT #1 — Disassembler and
related utilities allow disassembly from
memory* file. $24.95 ($26.95)
PC-XFER UTILITIES —Utilities to read/write
and format MS-DOS™ diskettes on CoCo
under OS-9. Also transfer files between RS
disk basic and OS-9 (requires sdisk). $45.00
SS50 USERS: Half price closeout of 256K
dynamic ram boards, making way for new
Megabyte design.
BOLD prices are CoCo OS-9 format disk, other
formats (in parenthesis) specify format and OS-9
level. All orders prepaid or COO, VISA and Master-
Card accepted. Add $1.50 S&H on prepaid, COD
actual charges added.
D.P. Johnson, 765S S.W. Cedarcrest St.
Portland. OR 97223 (503) 244*8152
(For best service call between 9-11 AM Pacific Time.)
OS-9 ts a IradenwK of Mlcrowsw and Motoiola Inc
MS-OOS Is a trademark of Mlcro«o1t. Inc.
Selling GIMIX 6809 computer with clock, DMA
disk controller, 56K RAM. FLEX-9, OS-9
software. Only $1295.
John Pomeroy (216) 372-4457.
6809 COMPUTER SYSTEM: SWTP mother board,
4 Power supply, Percom CPU with serial,
serial board, 48K RAM, dual 51nch drives,
SO Floppy controller. BEST OFFER! Perkln
Elmer 550 CRT terminal, Soroc IQ 120 CRT
terminal, two TEK-C0M acoustic mode (300).
Joe Wlcklund (206) 481-2812 evenings (PST)
WANTED: SWTPc MP-LA, Used or Public Domain
FLEX 6800 Software. Any help appreciated.
Call Craig after 5:00 EST (518) 439-6770
SWTPC S/09 Computer
64K, CT-82 Terminal, Dual Floppies, 4 Serial
Ports, 1 Parallel Port, S-32 Card, FLEX
9.0, TSC XBASIC, Editor, Assembler, Text
Processor, Pascal, Debugger, Utilities,
More. Excellent Condition.
Keith Teague (405)624-5158 Weekdays,
(405)624-0621 Evenings.
OWILER EVALUATION SERVICES
By: Ron Anderson
Tne S.E- FCDIA Division of Co*>irhr
Publishing Inc.,
Is offering the following SUBSCRIBER
2RVICE':
COPILER Cd*>ARl$ION AMD EVALUATION REPORT
Due to the constant and rapid updating and
enhanchment of numerous compilers, and the
different utility, appeal, speed, level of
communication, memory usage, etc., of
different computers, the following services are
now being offered with periodic updates-
This service, with updates, will allow woo who
are wary or confused by the various claims of
compiler vendors, an opportunity to review
comparisons, comments, benchmarks, etc-,
concerning The many different compilers on
the market, for the 6809 microcomputer-
Thus the savings could far offset tne small
cost of this service*
Many have purchased compilers and then
discovered that the particular compiler
purchased either Is not the most efficient
for their purposes or does not contain
features necessary for their application.
Thus the added expense of purchasing
additional compiler Cs) or not being able to
fuMy utilize the advantages of hfoh level
language compilers becomes too expensive.
The following C0WILERS are reviewed Initially,
more will be reviewed, compared and
benchfliarked as they become available to the
author:
PASCAL "C n
GSPL WHIMISCAL PL/9
Initial Subscription - 139,95
(Includes 1 year updates)
Updates for 1 year - SI 4.50
S.E. MEDIA - CPt
5900 Cassandra Smith, POB 794
Hlxson. TK 37343
615 ^42-4601
68' M»crO Journal
59
Give Your OS-9 System The Power It Deserves!
Ibtal Management Planning Software presents
The TfflP POWER SERIES
^The TMP FREEFORM FILER
The Premier Text Filing Program!
UNIQUE CAPABILITIES;
< THE OBJECTIVE; Far thnar who wnnl to randomly store inform**
Lion, but retrieve K quickly, the FREEFORM FILER « dtaugned to bn4|$e
the gap between word processing and traditional database management
*• THK KEYWORD SYSTEM: An you enter or edit your text, von can
•elect any word aa a "KEYWORD" or "KEYFHRASE." Each "f ARD"
an contain aa many aa 117 KEYWORDS* and up to nine pages of text
similar to a 3" x 6" card, with no field nesUSctlooa Each "FILE
DRAWER" cnn contain up to 32767 pages 1
• THE SEARCH: Search Tnr the Curd Title, KEYWORD, or a com.
binmtion of both Plum "WILD CARD SEARCHES'* save time?
*> THK RESULTS: Uat the titles or card* found, print, or write the
cards to a disk file for later priming or use with a word processor
GIVE YOU MOKE ABILITIES:
e BUSINESS: Appoint men La office phone and adcbvsa indexes* in-
ventorv. service rnlK vrmdor \i*lK and pales orders,
• WftJTERS AND RESEARCH ERS: Far indexing, ewwa-
refervncmK «r mlulotfinjt and legal and modi al research.
* PERSONA l~ Tin- possibilities are endless , art and coin col
lections, bill li.ii, n^ tax records, and home inventory
NOTE: The FRFFFOkM FILER integrates del* mto the 'POWER
MANAGER."
'68* MICRO JOURNAL S»id: "IMP FREEFORM FILER isa fie*
ible Program th I can be used for a multitude oftaska without requiring
a Computer Science ba kground a very useful Program**
Requires 124K. OS-9 Version. $195; Uniflex version. $295.
The TMP POWER MANAGER
, , , Beat In Its CIassS
POWERFUL CAPABILITIES;
* More chnrmctera per record 17600; than any other program in
its class!
< Bach database can contain 32.767 mwd* with up to 150 fields
in esch record and up to 50 characters in each field
r* Rrwerful Sort and Report Generation capabilities.
* SORTI&ti on any fw-kl or on a combination of fields,
• [ntncate msth CALCULATING between fields
GIVE YOU MOKE ABILITIES:
e POWER MANAGER can create CUSTOMIZED LETTERS. IN-
VOICES. COLLWNAR REPORTS. OR LABEL FOR MAIS tor
mailing'
a Our User* put POWER MANAGER to work for them to do:
customer mailing piutl due notices . invoicing . , . sales analysis
Inventor*** rredil. insurance and employee records, client profile
report* trucking *mck (.MirTN.ln.-v and much more.
a- THE BOTTOM LINE: The POWER MANAGER ia the best m it*
classt Requires 12»K, |3tf. (OS-9 Only)
The TMP POWER PLANNER
. , , Utivquniled in Speed And f\»wi*r!
a The POWER PI*ANNER is an electronic spreadsheet with extra
Speed and fWer due to a unique feature called "circular referencing" that
n^alciilatos only the re hi led cells in the spreadsheet
e Data and formulas can be entered IN ANY ORDER. And, you don't
haw to keep reca leu I nling for the right answer as tn other spreadsheets
* SPECIALIZED REPORTS can be easily created by overlaying any
number of screena and automatically updating one spreadsheet with
another!
* Other fe tures include "Snap-Shot" printing, full 13-digit precision,
standard arithmetic and trig functions and a worksheet that will display
up to 264 rows by 266 columns.
* The Speed and Power ef the POWER PLANNER make it a natural
for Budgeting* Cash Flow Comparisons, Sales Forecasts, Profit/Loss Pro-
KCtions,and all kinds of Financial Analysis and "What If' Calculations
Requires 64 K. 1250 40S-6 Only),
The TMP FRONT-END ...A Powerful Menu Program
a The FRONT- END allowm the user to call up TMP or uther pnwruni
such as application programs* editors, shell acripts, or commands from a
menu syKtem (^Jipuril) m neven menu sent- nn, each with up to 36 menu
opt urn*, prtidufing 2f*2 upturns Can he called fmm nun TMP proem itia
Require! S4K. OS-9 Version $50, Uniflex Version, $7o.
The TMP LABELER
• Leu you make large quantities of labels in second*, with options for
automatic numbering «nd selecting the number of copies of each label
Variable pitch and b*litu- screen Great for Serial Numbers, Invent ry, or
making a quick Shipping Isabel 175. Uniflex Only.
► ORDERING 1M ORMATION: TMP SOFTWARE
2431 E. Douifla* • Wichita, Kansas • 67211
► OR CALL TOLUFREE: 1^00-2551362 Ext.47
We accept VISA. MC, AMKX, money orders and checks.
NOTE The pmrent eompmny flf TMP Svfltmmrr. The Untied St/iwmrr Co .
IS now the distributor mad support crgnnitsttcn for TMP Software.
Available
Assembled
and Tested
compact
Flexible
6809
Computer
Th* new ST 2900 system — a complete 6SK small business or noOby ist computer
is only one ol il* any possible coniiguralione Among us leatutea are
■ Small enoogn lo noJd in root na»d> <Eurocerd Si/e: 39x6 3")
• Two board "system" lor greater versatility man single board compuisis
• CPU Board - powerful B009C processor, 16* or 64K RAM. 2K*K EPROM, 2
RS232 sensl ports with sortwaie praoiammabte baud rslos. 16 bit
•ounier/timer Run |he CPU board all by Hsell, or plug your own custom too s id or
our FOG board mlo Ihe expansion connector
• FDC Bosrd - double sidedVoouble-o^nsily llopey disk conlrorler M»(n
sdtustmsni tree digital data separator and whie procompensation 28 bit
parallel pods 2 id bit counter/timers prototyping area.
• Available as bare PC boards or rultv •■■•mblee and tested boards All hava
solder mask both aides plus SllksCreened component Overlay
- OS-9 for only $49?
Well, not quite But that's ail you pay lor our OS 9 Cohversi ri Psckage *Hlch
tela yoy use Ihe tow cost Rsdio Shack CoCo veision or OS*9 on out ST 2900
system Save Sl3t oil the suggested llsl p^ice ol OS-gt 9fo aregrammlno J*
Involved. Supports CoCo OS 9 and standaid OS9 format disks
•CPU bare board plus E PROM *4S FLtX Conversion Package S29
FDC bare board 136 OS9 Conversion Package $49
CPU + FOC board ser assembled and tested (329
• Add 16 shipping/handling <$10 overseas) These prices are in U S funds Cana
dian orders csll or write for price Terms money order, cettfhed check, visa
si j? ^ vvme lorlrse btocrmre and
S7 <wi t> PS-l <C comptite price timt.
)\ ^/\f\i^\^> t«04) 256-€4B5 <♦-* pm PST>
T TC<HNOLOOIC<
2261 E. 1110 Ave. Vancouver, B.C.. Canada VSN 1Z7
III NEW PRICES III
I
1
MI' «l|lfcll
.It'rirrrrr
I HlfM
2S6K, 512K, 1 MEG MEMORY SYSTEM
TURBO vlri*»l dial eofivtre aetf namor) fhfWMi k* »o^Oatf «iu> dv %y%Um.
Pf«p«1tf: 2SM:U9S, l2tt:$S4S. 5l7«:S795. I0?4t:$1195
Doe>««ik elUpptnc mM fc*ed)int 1 10,00. Uarra mttrntk SIS.00. «ppl»caM< coward
»r«4«B pure**!*. Caihatr* Hleri, COO. V*rtoo»i ctock* men cte*r Sefo»e
Fl». r9»rdMti odd &% imut* tAa, Shipped stort to X d»yi, DteJcr and
sr AKotMi »*aJI»t4av
COMPUTER EXCELLENCE INC.
P.O. BOX 8442
CORAL SPRINGS, FL 33065
_ ttOS) 752-8321
60
'68' Micro Journal
GOOD NEWS!
••
MOL
CORPORATION
647 IV. Virginia St.
Milwaukee \\l 5:1204
<414)27(i-2m7
6809
NEYER
BETTER!
ms
INTROL-C/6809,Version1.5
Introl's highly acclaimed 6809 C
compilers and cross-compilers are now
more powerful than ever!
We've incorporated a totally new 6809
Relocating Assembler, Linker and Loader.
Initializer support has been added, leaving
only bitfield-type structure members and
doubles lacking from a 100% full K&R
implementation. The Runtime Library has
been expanded and the Library Manager is
even more versatile and convenient to use.
Best of all compiled code is just as
compact and fast-executing as ever - and
even a bit more so! A compatible macro
assembler, as well as source for the full
Runtime Library, are available as extra-cost
options.
Resident compilers are available under
Uniflex, Flex and OS9.
Cross-compilers are available for PDP-
11/UNIX and IBM PC/PC DOS hosts.
Trademarks:
Introl-C. Introl Corporation
Flex and Uniflex. Technical Systems Consultants
OS9. Microware Systems
PDP-11. Digital Equipment Corp
UNIX. Bell Laboratories
IBM PC. International Business Machines
For further information, please call or write.
68* Micro Journal
61
THE 6809 "UNIBOARD"™
^SJ^S^SINGLE board COMPUTER KIT Koi it
PERFECT FOR COLLEGES, OEMS, INDUSTRIAL
AND SCIENTIFIC USES!
64K RAM! DOUBLE DENSITY
FLOPPY DISK CONTROLLER!
^*,
*w
/
BLANK PC BOARD
$9995
WITH PALS, AND
TWO EPROMS-
FOR 5-1/4 OR * INCH
SOURCE DISKETTE
ADD $10.
00
$249
COMPLETE KIT1
FULLY SOCKETED.
PRICE
CUT!!
>- tfl
< ill
Q D
§ UJ
tea
OO
O^
UJ _(
si
<*
THE COMPACTA UNIBOARD™: Through special arrangement with COMPACTA INC.. we are
proud to have been selected the exclusive U.S. Mfg. of their new 6609 UNIBOARD'* COMPUTER
KIT. Many software professionals feel that the 6609 features probably the most powerful
Instruction set available today on ANY 6 bit micro. Now, at last, all of that Immense computing
power Is available at a truly unbelievably low price.
YOUR CHOICE OF POPULAR
DISK OPERATING SYSTEMS:
FLEX" from TSC >99
OS9™ from Microware $199
Specify 5-1/4 or 6 Inch
FEATURES:
* 64K RAM using 4116 RAMS.
* 6609E Motorola CPU.
* Double Density Floppy Disk Controller
for either 5-1/4 or 6 inch drives. Uses WD1793.
* On board 60 x 24 video for a low cost console.
Uses 2716 Char. Gen. Programmable Formats.
Uses 6645 CRT Controller.
* ASCII keyboard parallel input interface. (6522)
* Serial I/O (6551) for RS232C or 20 MA loop.
* Centronics compatible parallel printer interface.
(6522)
* Buss expansion Interface with DMA channel.
(6644)
* Dual timer for real time clock application.
* Powerful on board system monitor (2732).
Features commands such as Go To, Alter, Fill, Move, Display, or Test Memory. Also Read
and Write Sectors. Boot Normal, Unknown, and General Flex".
PC BOARD IS
DOUBLE SIDED, PLATED THRU
SOLDER MASKED. 11 x 11-1/2 IN.
Digital Research Computers
(OFTEXASl
P.O. BOX 461565 * G Aft LAND, TEXAS 75046 . (214) 225-2309
TERMS: Shipments will be made approximately 3 10 6 weeks after
receive your order visa MC. cash accepted Add $4 00 shipping
USA AND CANADA ONLY
62
6B + Micro Journal
64K SS-50 STATIC RAM
*
•^
$149
00
(46K KIT)
*£ty,
e*
»ft
w
BLANK PC BOARD
WITH DOCUMENTATION
545
SUPPORT ICs -> CAPS - 516.00
FULL SOCKET SET - 515.00
ASSEMBLED AND TESTED ADD $50
FEATURES:
• Uses new 2K x 8 (TMM 2016 or HM 6116) RAMs.
• Fully supports Extended Addressing.
• 64K draws only approximately 500 MA,
56K
64K
*169
MM
200 NS RAMs are standard. (TOSHIBA makes TMM 2016s as fast as 100 NS, FOR
YOUR HIGH SPEED APPLICATIONS.)
Board is configured as 3-1 6K blocks and 8-2K blocks (within any 64K block)
for maximum flexibility.
2716 EPROMs may be installed anywhere on Board.
Top 16K may be disabled in 2K blocks to avoid any I/O conflicts.
One Board supports both RAM and EPROM.
RAM supports 2MHZ operation at no extra charge!
Board may be partially populated in 16K increments.
16K STATIC RAMS?
CLOSE OUT SPECIAL
WE HAVE DROPPED OUR 32K SS-50 STATIC
RAM BOARD WHICH USED 2114 LOW POWER
RAMS. WE WILL SELL THE REMAINING
STOCK OF BLANK PCS S WITH DATA FOR
$17.50 EA. THESE FORMERLY SOLD FOR SS0.
The new 2K x 8. 24 PIN, sialic RAMs are Ihe nexl generation of high density, high
speed, low power, RAMs Pioneered by such companies as HITACHI and
TOSHIBA, and soon 1o be second sourced by mosl major U.S. manufacturers,
these ultra low power parts, feature 2716 compatible pin out Thus fully
interchangeable ROM/RAM boards are at last a reality, and you get BLINDING
speed and LOW power thrown in for virtually nothing
Digital Research Computers
*" (OF TEXAS}
P.O. BOX 46156$ * GARLAND. TEXAS 75046 . (214)225-2309
TERMS: Add $2 00 postage We Pay balance Order under Si5 add 75c
handling NiCOO We accept Visa and MasterCrwge Te* Res add 5%
Tax Foreign oc ders (except Canada) add 20% P & H Orders over $50. add
B5C \or ins.iir.im ♦■
58' Micro * Journal
63
DISKETTES AND 680X SOFTWARE
SUPER SLEUTH DISASSEMBLER EACH S99-FLEX, $101 -OS-9. S100-UNIFLEX
mtaracfivaiv umifitit seuret o#» d»tk w»th iai>ai». mcludaa mrat labai d*fmiiion, bma-v "la •dning, aie.
mpKily WO0.1,?,1.5,B,8V6SO2 vara»o* o* 2 -BO /SOTO'S 5 Viftio*
OS'S and UNIFLEX vataiona alto procaaa FLEX objacl Ma formata
OBJECT ONIV varaiona EACH S50-FIEX & OS-9. S49-COCO DOS
COCO DOS tvtiltOlt *n 6400 1.2,3,5,B,9'65D2 V»?r»iOr» on4\
CROSS-ASSEMBLERS EACH S50-FLEX/UNIFLEX/OS-9, ANY 3 SI 00, ALL S200
tptcttv lor 1904. 6504, 6604, Z~60, dtWB'M. B085. 68000
Wu», modul* fra«-»t*ndir*e ctos* lutmbltri writlan »« C
B-bit Mow inclvda* o»iv with til Croat- ftuamblar* Mot WOO)
DEBUGGING SIMULATORS EACH S75-FLEX, S100-OS-9, S80-UNIFLEX
apaciiy 66«4Vl. (14M605. 6502 6806 OS-*. 2-80 FLEX
OBJECT OftfLV vartttftt EACH $ SO-COCO FLEX & COCO OS-*
6502 TO 6809 ASSEMBLER TRANSLATOR
tf*n*Jlalat 6502 program* lo 6603, noting tnaxact convert >on§
6800 TO 6809 81 6809 PIC TRANSLATORS
WtnsUtt* 6600 Program* to 6609. 6609 programs to PIC
FULL-SCREEN FLEX AND UNIFLEX TSC XBASIC PROGRAMS FOR 6809
(with complota curaor control}
DISPLAY GENERATOR/DOCUMENTOR ISO w/aourca. S?S without
MAILING LIST SVSTEM S100 w/aourca. S50 without
INVENTORV WITH MRP S100 Waourca. S50 without
TABULA RASA SPREADSHEET S100 w mO«rc« S50 without
DISK AND XBASIC UTILITY PROGRAM LIBRARY S50-FLEX & UNIFLEX
ad II aaclora sort du«cto*V. maintain masttr catalog do d»ak sorts, Mraf BASIC. ...
CMODEM PROGRAM S100-FLEX & OS-9 & UNIFLEX, OBJECT-ONLY EACH $50
orovidaa msnw-dnvsn talacommun4(»|io«fc tacilnias. with irrmmal mods. uo/dow«i osd MOOEM7 protosoi. sic.
5.25" SOFT-SECTORED DISKS EACH 10-PACK S13-SSSD S15-SSDD/DSDD S25-DSQD
Amaricarv-mada. axcallani quality, with lackats and hub r»ng»
SS-50C 256K 1.5MHZ MEMORY BOARDS BLANK SI 00 A&T $350
S75-FLEX, S85-OS-9. S80-UNIFLEX
S50-FLEX. S75-OS-9. S60-UNIFLEX
with instruction manual, schamaoca. and dalay tins, all pans raadiiv ava*l«bla
Most programs in source on di«Jc spocify computar. diU net. operating aystam
Contact CSC lor full catalog arvd daaiar informal ion
25% discount for muitiPla purchases of aama Program on sams o«4er
For VISA and MASTER CARD, giva account, s*p dala, ptiona US funds only.
Add CA Mist t«ft and SV. shipping no shipping lot di«*> In 100s
(UNUFlEX trademark. Technical S Warns Consultants. OS-9 trademark Mitrowara
Computer Systems Consultants, Inc.
1454 Latta Lane. Conyers, GA 30207
Telephone Number 404-483-1717/4570
SOFTWARE..
HARDCORE
" FORTH PROGRAMMING TOOLS from the 68XX&X ■'
■' FORTH specialists — gel Ihe best" "
NOW AVAILABLE — A variety of rom and disk FORTH systems to
run on and/or do TARGET COMPILATION for
6800, 6301 6801, 6809. 68000. B080, ZBO
Wnte or call (or infcwmauon on a special system to (it your require
ment,
Slandard systems avaj table for these hardware—
EPSON HX*20 rom system and target compiler
6809 rom systems (or SS-50. EXORCISER, STD. ETC
COLOR COMPUTER
6800/6809 FLEX or EXORCtSER disk systems.
68000 rom based systems
68000 CP/M-68K disk systems. MODEL II 12 16
tFORTH rs a retined version of FORTH Interest
FORTH, faster than FIG-FORTH FORTH is
an interpreter II exec tes orders o( matoittfieYiJster thaLim%r
prettve BASIC. MORE IMPORTANT* cfcarDEyELO|fflENT
AND TESTING is much, myph/fcllavman comBM languages
such as PASCAL and (Wft»«40DE V^atfWprT COSTS are
an important concern (olQwfyou fteed^raTm'
firmFORTH^ is for the programr%efclttio needs to squeeze the
most into rorns. tt is a professional programmer s tool for compact
rommable code for controller applications
tFORTH®
from TALBOT MICROSYSTEMS
NEW SYSTEMS FOR
6301/6801, 6809. and 68000
.«> tFORTH SYSTEMS -
For atl FLEX systems: GIMIX, SWTP. SSB, or EXORcisor Specify
$ or 8 inch diskette, hardware type, and 6800 or 6809
" tFORTH— extended fig FORTH (1 desk) S100 <S15)
with (ig line editor
" tFORTH + — more! (3 5" otfBT disks* $250 (S25)
adds screen editor, aaf^Wrjextended data types, utilities,
fames, and defrug gi rffi" ¥ s ~
RS-60 CGkpfcuWTH*'— available Irom The Micro Wwks
*MirmFpOTHV|B09on^ $350 (Si 0)
FflfiprgflL cc^latro^afl^rimabie code
ti&lly rjel^s amused code Includes HOST system
» and t3B«t Aucleus source No royalty on targets Re-
hires bruLdoeSnot include tFORTH +
"ntj-Tl?ROG RAMMING AIDS — elaborate decompilers 150
iRTH for HX-20. in 16K roms tor expansion unit or replace
BASIC $170
1FORTHv68K for CP-M-68K 8" disk system $290
Makes Mode? 16 a super software development system.
* tfOATH and rWnFORT* v trade™**** o* Ta*ol Ucwysam
» F\fix ia a ff*w«na* o* Tac^r^af Sy»"ams CcnaMw** ax
<•• CP W-WK rs iradarftatv o* tViar FW»#a/r> ax
** Nautilus Systems Cross Compiler
— Requires: tFORTH + HOST + at least one TARGET:
— HOST system code (6809 or 68000) $200
— TARGET source code 6800-$200, 6301 6801— $200
same plus HX-20 extensions— $300
6809— $300. 8060 280— $200. 68000— $350
Manuals available separately — pnce m < ).
Add $&system (or shipping $15 tor lorergn air
TALBOT MICROSYSTEMS 1927 Curtis Ave.. Redondo Beach, CA 90278 (213) 376 9941
64
'68' Micro Journal
WINDRUSH MICRO SYSTEMS
UPROM II
PHOGRAFIS tnd VERIFIES: 127*6,
T2?oo, t?M6, T*5i6, iirnnnn,
MCM6A7al/6, t?r«t/?r«4« r T256A,
(27128/27126A, end 127256.
tejntel, f*fe«a», «»Motorole.
MO PfESOAtAlfTT HQOCAti iKmuts*
rii-v».T twam am mot iuppotr»
ItlTEL't 1ntelig*«l orogreaalng
(la) lapAeaanted Tor Intel
276*, 2r1» «d 27256 devtcet.
Ifitettlgent prOgreaalng fedueet
tht «w*r«Bc programing tie* of •
2764 froo 7 ■ Incite, to 1 ■ incite
1$ etond* (under FLtjl) with
greatly 1a»roved reliability.
fully tnclo»fd pOd tfHfe 5' of
1101 ribbon eeble for connection
to 1K« ho»t Onovter MC692l rUA
interlace Ooerd,
RCbbOV aortuare for fLE* and 0$9
(Level I or 2, Version 1.2).
ei«Ult DISK rILE offiet loader
• WOCMIed xlih flil, AbfrS and 059.
«#fKi drive* to*t»a#f p*0¥t0*t thf folloa-lng fee f I it i«»*
MIL
PL#P .... -
IU&
, EXAnI*C/ChAMuE
ClC
COfMr .. ..
verjft
PmOuOM
SELECT
it*lt* ........
RETURN .......
imtuTc ......
,. a telected mr*» Of 1M buffer «Hfe a MEx cher,
. biooa o* dele.
. t*e buffer in heu end ASCII.
. a atHng of tortti in tut bufttr.
. the cnitfnti of tht bulfer,
. checktuoi a teietted arat of tne buffer,
i. a telected tree of an EMtOM into the butlar,
. a telacled arta of en fPfton against tht owl tar.
,. a telected mr»» of art EPftePl *1th datt In the bofftr.
>. a n«« EP»0« trPt (rtturn to typtt atnuJ .
,, tht eyatea Monitor.
. . to tht ©parallr>9 syitae.
,. mm gO$ utility (only In fLEl and OS9 vt<-»1wit).
FIEI AM OS? VEJSIDNS AVAILABLE PROM GIMJ t
ssavwca cojfuct us qi»ect.
PL/9
• friendly Intrr-ectlve ertvlronaenl uftere you Mm* IMSfAAfT access to the
Editor, tht COMB He', and tnt Trace**ePu«oer, Ml. 1th, mww**q*\. other
taingt, can tingle itap tut Prog,** » SOURCE lint at a lia*. roy elto
he«« direct K(»ii to any fUx utility and your uate« oonicor.
■ m« paty* Manual cgtfilltd at ■ tutor i«| »itft plant? of liHtlH*
• fast SlNfclE PASS <(Mp1ltr oroducti «« of COMPftCf and FASl 6S09 MJChtnt
coda outPLit par alriuit with no run-tla* owarftidt o/TTctn»t fttt.
- fwtly coflpatlblt n*lh fSC t»xt tdltor lorm dUk flits.
• SlDntd and vnt1ona« SITES mt*6 INfEUtl, 12-bU flott 1«« 00»nt «E*Lt.
• Vac tor» UtngLt dIMtntlon trrmr** **<* po'ntan §*• tupf»rt«4.
• Ptattvaaatlcat t>prttf1ontr (•), CO, tti, lt>, •oduLvrs CO, rw gallon <-)
• Ciprtnlon tvaluator*: t«). <<>)„ t<3, i>), (>•), <<*>
■ Bit optratoM: (AJfft), <0«>, (EO*/IO«), CltOT>, (SMSfT^ (SltAPJ
■ Logical oparalorar <.»(»), (.Otl, (.C0«/A0t>
• Control »lt1*wr.tt: ir..lNfH..lLSE # ir..CASE1..CASC2..e\.S<j BE«lN..t«C,
MNtLI..« rJE^i»T.AM|T|L, 1CP€AT..«0*IV<M J , CALL. HUP* «CTL«IM« BttJUC^ WTO.
■ 01 rati aCCtSt to CACCA), <ACCS)« UCCt) # (XtE6>, <€CM? and <STA(K).
• ftILL? USVCrlx tht mUP9 RESET, m\. 11*0, IKS, Sul, SWI2, and SlrlS
vtctot*. Writing a iilf-itart 1ng (fro* &o**r^g)> pro^r** thai um Aht,
or ALL, of t&# NC6609 Intarrwptt \* an ablotwta »nap*
• **t*ir*9 tod« a«y e* •abtddad in tht progra* via tht *&»' itattadnl. TMt
anabln yon to coda critical remttntt In aittobly langu«gt and tabtd thta
In tha PL/9 pragrta <*•• ♦rtACt* for dttaili).
■ prof&ft m*y bt patttd *rd May raturp var itbltf. Ihla nabti t^t■
Tunctinia *hith bahawa «t lltotigh thay ymrt an InlagfAl pari of PL/9.
• Savtral fully dacuatntad Hbr»ry protadwra •odvilt* »rm Vd»Dt1«d: I0SUBS,
BlttO, HAH010, HE»I0, P LEI 10, SClPACK, STNSUkS, BASTtlNC, and RfAtCON.
'... TMtS IS fXt WQSf E>MCHWT C0HP1LEA I rU¥* fCAWW TQ PATE.'
Quottd fro* ton Andartoiit fLEX itoar Nott» toluor in *6l. «a«4 *a **r "oraf
WORSTEAD LABORATORIES, NORTH WALSHAII,
NORFOLK, ENGLAND. NR28 9SA.
TEL : 44 (692) 404066
TLX: 975546 WMrCRO G
MACE/XMACE/ASM05
All of tttata products ftatura a highly productlva anvlrenatni whara iha
adltor tnd tht atstabltr raaidt In atoory togathtr. fionr »r» tht dayt of
ttdlua disk load and Hvt ootrattont whllt you art daCugnIng your coda.
• frltndty intar-aet *»a tnn^rpnaant atiitrt yow ftftva inatant acc*s« to 1n«
Editor and tht Atiaafiltr, fLEx utlltltt* and your ty^tc* *onlto«-.
• MCI can tlw product ASr«>tOCi («En »Cltta«nti) for Pl/9 alt* tht
anaatoly languaoa sowrca pasatd to tM output m* coaaantt.
■ SMACE la » croii atttafrla* for t*t 6BOO/1/2/1/0 and aupporis tht ttttndad
HcwMitci ol Ilia 6»3-
* *l*€)\ H a [r«l HIH&lir far 111 b%Ql ,
D-BUG
LOOKIMC lor a tlngl* attp tractr and »1M in-llnt dUatft^la/- Ihtl la ta*y
to utt7t Look no furlhtr, you hava found It. TM» package it idaat lor
th«»« »aall as»t««>ly langvigc prograo dabuftfling atationa. o^eut! occ«d>itt
Ian than 6,: (including It* iifck and varlabltt) and aay bt loaded •nyuhtrt
in Hl ofT. All fOu do it LOAD lf« AIM IT and SO] C*0 COl V»V« only).
McCOSH C
Thli 1« •* cOapleta a *C (ovlifr a* you *1ll find on any ooaratl>*g ayttt*
for the 6«4N. Jt is co^lttaly conpatible uiiri umu VII and only tacit
•oK-lietdV (wbic* »t9 of Utile Practical »*»• iri an a~bit world*).
■ Producea wary efftcant a»»«*bly leno n agt taurc* output with the 'C*
•ource opt I on* Ur Initrltairad a* coa*mt».
■ fciilt-in optiMiftr gHi ihorlan object code Or about 111,
• SuM»rtt IntaMaavvd eitavbly Imgutiit pro^raoi.
• INCLUDES Itt Own a»«c«bler. The TSC relocating tlteobler 1« only required
If rou went to generate your enm Morarlat.
• the pri-procea»or. compiler optia1#ar, etaeabler and leader all run
Independently or under the "C<* eeacutiwe. *CC aatea COMpUlng a progrea
Co edacutable objact at ti«ole am tyol^g In 'CC,hCLL0.C <tETU*jp'-
IEEE -488
< IlinMfffi ALL MlHtlPAi HOtd Of TMf EFCf^4M MOTS/II fHft SPf C ttKATfOb;
- TtVker
- Li timer
- lyitt* Control ler
- Sarlel fNill
- Parallel Poll
- Croup trigger
- tingle or Oual rri—rr Addreta
• Secondary Addreta
- Talk only ... LlHen only
i ruLly do<LaiMited wttfe a complete raprUt of tha ^lL(b>Aub art tela on the
IEEE but and the totorole publication 'eatting aooerd 1h« IEEE 9u»».
- to* level atteecilr la^uege drlwert aulieble for 6W0. 6801, 6802, 660),
0606 end 6609 ere tuPQliad in the for* of ltA11ng». A collect bit* to
back fell progre* 1« 4 L»o topplied in Che lore of a Hating. Thfte
(Kiver* have bean t«ttnsivtly tatted and are GUARANTEED to uork.
' Single S-30 board (A, H or 16 eddreaaet oar sort), fully eockeled, gold
plated but connaclor* and IEEE Interface table ataeably.
PRICES
o-euG
*tA»
XKACE
Airtn
•L/fl
(6M9 FLEA only) ♦, f 7S.Q0
(660° f LEl only) S rS.OO
(6609 FLEA only) 1 96.00
(6609 FLU only> I 96.00
(6609 FLEX only) 1196.00
(6609 FLEl only) $294.00
IEEE-466 utt* IE£E~*oe cable etfteably S296.00
UPI»0*-I1/U alth one verilon of aoftaart <ne cable or interface) .. 139S.0O
UPHQM-M/c et above but coapieta ulth Cable *n« J-50 Interface ....1W.00
CACLf S* 1u1tt-n-ritt SO «ty leblt alth IOC connectors % 35.00
S-30 INI SS-30 interface lor liPAOH-ll *.,.. SlM.OO
EaO« l*Jt Motorote CxOflbue CElOtclaer) Interface tor UPKOn>][ ... 1195,00
JPIOH S*T Softaart dri vera For i nd operetlng tytiee.
Specify FLU or 059 ANS dlak tliel .- ...,...., S 35.00
IMHOft SRC Attcobty language vource (contact ut direct)
All Mlltt I I U U I t A | I MU » 6 5 T 1 6 E
far*,: Ct». P*ra*nt by I«t*l Ptenay Order, vJSA or fUSTEa-C»« tlto KCtbted,
WC STOCK THE FOLLOW***
OttflL S«. FHL. MaCROWARC T9C. LUCOATA, LLOVD I/O.
A Alrkrfl) * ASSOCIATES.
tLtt tt»> It ■ tridtaart «* Technical lyttest (ontultenta^ 01-9 lit) It f
trademark at Microwar« lyllean Corporation, MM* lit) in} ElWtllir (1m)
art trade*arht of hQtproLa Incorporiiao,
65 1 Micro Journal
65
DYNACALC
ELECTRONIC SPREAD-SHEET
®
NOW FOR
68000
68000 DYNACALC does everything
6809 DYNACALC does, and more:
worksheets up to 18278 columns or 9999 rows.
Built-in financial formulas.
Smart terminal support for faster scrolling.
Copy, Blank, Hide, and Format columns or blocks.
Many new display formats — up to four windows.
More efficient data storage and even greater speed.
Uses existing DYNACALC worksheets.
System requirements:
68000-family CPU, OS-9 68k version 1.1 or later.
128k RAM minimum, more preferred.
One or more CRT terminals with cursor addressing.
Printer optional.
Price S595.00 per single copy;
dealer and OEM inquiries invited.
COMPUTER SYSTEMS CENTER
42 Four seasons Center #122
Chesterfield, MO 63017 USA
(314) 576-5020
%
56 68* Micro Journal
'68' MICRO JOURNAL
<£ The only ALL 6800 Computer Magazine.
<£ More 6800 material than all the others com-
bined: MAGAZINE COMPARISON
(2 years)
Monthly Averages
6800 Articles TOTAL
KB BYTE CC DOBB'S PAGES
7.8 6.4 2.7 2.2 19.1 ea. mo.
Average cost for all four each month: $6.53
(Based on advertised Vyear subscription price)
68 cost per month $2.04
That's Right' Much, Much More
tor About
1/3 the Costf
OK. PLEASE ENTER MY SUBSCRIPTION
Bill My: Master Charge □ — VISA q
Card # Exp. Date
For □ 1-Year □ 2 Years □ 3 Years
Enclosed: $ _ . —
Name
Street
City
State
.Zip.
My Computer Is:
68 Micro Journal
5900 Cassandra Smith Rd.
Hlxaon, TN 37343
Subscription Rotes
(Effective March 3, 1985>
U.S.A.: 1 Year $24.50, 2 Tears $42.50, 3 Tears $64.50
# Foreign Surface: Add $12.00 per Year to USA Price.
* Foreign Airmail: Add $48.00 per Year to USA Price.
* Canada * ttaxleo: Add $ 9-50 par Year to USA Price.
* U.S. Currency Cash or Check Drawn on a USA Bank fit
l^sll** 2 ^
y
STAR-DOS LEVEL I
Whenever a new DOS is inlroduced, there's
always the problem of developing software to
work with it. So we did it the opposite way — we
analyzed the requirements of software that
already exists and developed a DOS lhat met
ihem... and exceeded them! The result is STAR
DOS Level I, a new DOS for 6809 systems, ideal
for single user industrial, control, and advanced
hobbyist applications. This includes SS 50
systems and single-board computers from a
variety of vendors.
Level I is compatible wi!h most current 6809
hardware and software On ihe hardware sidi*, \t
allows up to ten floppy or Winchester drives with
appropriate controllers. On the software side, it
runs existing 6809 software from all the major
6809 software suppliers, including TSC, Star-
Kits, Intvol, and others.
Write or call for more information. STAR
KITS Software Systems Corporation, P.O. Box
209 T Mt. Kisco N.Y. 10549 (914) 2410287.
TAR-KJ73"
AMKRSON COCl/TER CONSULTANTS
&
Associates
Ron Anderson, respected author and columnist
for 68 MICRO JOURNAL announces the Anderson
Coeputer Consultants & Associates, a con-
sultlng firm dealing primarily fn 68XX(X)
software design. Our wide experience In
designing 6809 based control systems for
machine tools Is now available on a
consultation basis.
Our experience Includes programming
machine control functions, slgnaf analysis,
multi-axis servo control (CNC) and general
software design and development. We have
extensive experience In Instrumentation and
analysis of specialized software. We support
all popular languages pertaining to the 6809
and other 68XX<X> processors*
If you are a manufacturer of a control or
measuring package that you believe could
benefit from efficient software, write or catl
Ron Anderson. The fact that any calculation
you can do with pencil and paper, can be done
much better with a microcomputer. We will be
happy to review your problem and offer a
modern, state-of-the-art microcomputer
solution. We can do the entire job or work
with your software or hardware engineers.
Anderson Oo^>uter Consultants & Associates
3540 Sturbridge Court
Ann Arbor. Ml 48105
'68' Micro Journal
67
our EPROM PROGRAMMER with the field.
AH d*to tafrw direct. ly fr«» ranufociurw 1 b currer* <K*wtl»lnq. soft^iro,
inlotfacv*. or parKnality anfelm »wy a)«o h» r«|airw1 At ariditi<7ial coat.
► Triple **4v«9e P1TN
> Supplied in Xit fOffl*
tNTELLIGENT
J7Q4-
2506
270B*
2756
2516
2716
2716-
2532
2732
2732A
2564
2764
2526
27126
2616
66764
6746
6749
TOTAL
A
B
c
D
E
M
PAR
PAH
SEP.
S30
SEP
SER
HO
NO
YES
NO
YES
YES
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
3
13
6
11
11
11
S45*
1160
S20B
1971
|4M
S575
«Wi VTVm pjr>^r<mwmit t $125. P»r*.TV»l)ty rea^jla for 2506. 2T56. 2SH>. *«J
2716 lT»clv»i9d. Specify CPU. 1i*k al*). anl <*>«r»tir>g eyvt« (TBL*'b /TJ3t or
S8'i U06) rim entering. Manual ot\Iy. 510: refundflbl* Mrttk WIW< j*tr<4MM>-
UNJTEK • P.O. Box 671 - Emporia, VA 23847
K-BASJC
for OS9 A FLEX
$199
K-BASC Is a complefte BASIC compter package Including Ihe com-
piler Jlself; Ihe assembler, auaxrontation, and sample programs H fea-
fives six atomic data types Including real numbers, strings, 8 bW. 16 bit
32 bit. and 64 bit signed Integers, All types may be dimensioned with
one Of two su&SOipts. K-ftASC convert* programs to MACHINE tarv
guage code which may be put into EPROMS Of ROMS
K BASIC syntcw is very ciose to TSC's BASIC and XBASrC Interpreters. Line
numbers ore not required (may be up to 16 characters] Variable
nomas may be up to ^characters long. The AT statement dimensions
vojiaNes to absolute memory odctass^rs.
The future of K-BASIC will see additional versions tor ihe assorted Inter-
preters currently available This means you can compile your SASJC Po-
groms you now hove.
Coll (503) 666-1097 for our CATALOG, we hove many other
programs including: 00... $69 OSM,.^ ED/ASM. .$69
CHASMS
for OS9 * FLEX
$399
CRASWB is Ihe Nghly acdoimed cross assembler pock oge tor OS9 ond
FLEX systems, and is ihe only one of its type available tt rums your com-
puter Wo a development station for Ihese CPUs:
6600 6801 6604 6805 6909 6611 6502
7000 1802 8048 8051 8080 8085 280
(68000 1602 bft cross aaemtter . S249)
CRASMB features Include Moods, Conditional assembly, library fife
calte (12 deep). Symbol length to 30 characters. Symbol cross reference
tables, Object code In A formats (099, FLEX, S1-S9, INTEL HEX), plus
many other ext^ided directives and options not found on other
osse. rulers.
LLOYD \tO 19535 NE GLISAM, PORTEND. Of? 97230 USA
Phone: (503) 666-1097 (Software ConsurroMon Available)
VISA. MC. COQ CHECK APPBOVW PC* ACCtPTH)
England: Vlvaway (0582 423425). Windrush (0692 405189)
Germany: Zacher Computer (65 25 2991
Australia: Paris Radio Electronics (61 2 344 91111
OW*a*ofMiouwcm.fl£Xi*a»cir$c
1
68' MICRO JOURNAL
Disk- 1 Fllesort, M1n1cat, M1n1copy,
Minlfms, **L1fet1me, **Poetry,
**Foodl1st, **D1et.
Disk- 2 D1sked1t w/ 1nst,« fixes.
Prime, *Prmod, **Snoopy,
**Football, **Hexpawn,**L1fet1me
Disk- 3 Cbug09, Seel, Sec2, Find,
Table2, Intext, D1sk-exp,
*D1sksave.
Disk- 4 Mailing Program, *F1nddat,
♦Change, *Testd1sk.
DISK- 5 *DISKFIX l f *DISKFIX 2,
**LETTER, **L0VES1GN, **BLACKJAK,
**B0WLING,
Disk- 6 **Purchase Order, Index (Disk
file 1ndx)
Disk- 7 Linking Loader, Rload, Harkness
Disk- 8 Crtest, Lanpher (May 82)
Disk- 9 Datecopy, Diskf1x9 (Aug 82)
Dfsk-10 Home Accounting (July 82)
0fsk-ll Dissembler (June 84 J
D1sk-12 Modem68 (May 84)
D1sk-13 *In1tmf68, Testmf68, ^Cleanup,
*Dskal1gn, Help
D1sk-14 Mnit, *Test, *Term1nal, *F1nd,
*D1skedit, In1t.L1b
Disk- 15 Modem9 + Updates (Dec. 84
Gilchrist) to Modem9 (April 84
CONIRO)
D1sk-16 Copy.Txt, Copy. Doc, Cat.Txt,
Cat, Doc , Date.Txt
HATE:
This 1s a reader service QKLY! No
Warranty 1s offered or Implied, they are
as received by '68* Hlcro Journal . and
are for reader convenience ONLY (some
MAY Include fixes or patches). Also 6800
and 6809 programs are mixed, as each 1s
fairly simple (mostly) to convert to the
other.
PRICE: 8" Disk $29.95 - 5 M Disk $24.95
S8 MICRO JOURNAL
POB 794
Hlxson, TN 37343
615-842-4600 In Tenn.
1-800-338 6800 III U.S.
* Indicates 6800
** Indicates BASIC SWfPC or TSC
6809 no Indicator.
MASTER CARD - VISA Accepted
Foreign ~ add 101 for Surface
or 20S for A1rJ I
68' Micro Journal
TRS-80+ MOO I. III. COCO. TI99/4a
TIMEX 1000. OSBORNE, otfws
GOLD PLUG - 80
Eliminate disk reboots and data loss due to oxi-
dized contacts at the card edge connectors.
GOLD PLUG SO solders to the board edge con-
nector. Use your existing cables (rt gokJ plated)
GOLD PLUG 80 Mod I (6)
Keyboard/El (mod I)
Individual connectors
COCO Disk Module <2) *
Ground tab extensions
Disk Dnves (all R.S )
Gold Disk Cable 2 Dnve
Four Drive Cable
GOLD PLUG SO Mod ill (6)
Internal 2 Dnve Cable
Mod IN Expansion port
USA shipping $1 45
Foreign $7
$44,95
15.95
7.95
i6.95
tNCL
7.9$
rtf> OJ
2995
39 95
54 95
29.95
1095
Can/Mex $4
TEXAS 5% TAX
<^
$&>
Ask your favorite dealer or order direct
E.A.P. CO.
PO.BOX14
KELLER. TEXAS 76248
(817)496-4242 MC/ViSA
♦ trademark Tandy Corp
F»OWEHFUL COL OH GRAPHICS
UlH 1h* n*w TMS99T8A V.d*o D'l
ptlv P*OCe»Or Mrtflh r»Oiufton ?SG ■
19? p***i <k»pJ*y w-th 15 co4ot* 16K
B yi#i 0* onrjo* ' d RAM does nor reduce
uwi mem or* 3? graphic image* can
t» individujiiv moved *>ih umpli XV
commandi Iof nmooin animation
E*t*mal Video inp u i allowi Aiitmihng
NTSC componle tideo ouipul
SOUND EFFECTS AND MUSIC
• Three AV3 a9iO Programmable
Sound Generator*
• Nine simultaneous voieei
• Three mdeper>deni nooe sources
• Onboard slereoampMier duvet (wo
£orun spaa Kara
A0DIT1QMALV0 CAPABILITIES
a EkQhl analog inputa «rrh 6 0*1 reso-
lution
a Supporta four tovsfccte win ouanbui
ion switches
• Eight (mi paraNar 4/0 port
a Enhie wmr map* into 256 Dylea ol
memory
PB
TERMINUS DESI N INC m conjunc-
lion *rfh Mtcroware Syilem* Corpora-
lion, it proud 10 announce FBASlC an
•nhancemeni ol McrOwa'e'a 6800/
BASIC tneir rasr compiled BASIC he»
tw«n Adapted lor 6609 user* wlhe/ftfa)
wkWo and »ovnd real urea lor ARCADE
SO user* FBASIC is a Uue com©.**
rhar produce* optimised mectwne lam
gunge modules whichare ROMabto and
req^re no Run Time peoaO* FBASiC
requnei leaa memoiy overhead and
runt nundreda 01 timet laslet lh»n
BASiC mierpreiert it auppona atan-
daid BASIC instruction mciudmg
String hwicliora. Do* I/O and leal **eger
arithmetic w«ln muitip<e-p*ecvon cap*-
OHM y Graph »ci ven^t engluncl iont lufly
tuppoti the Arcade 50
ARCADE SOattemb/ed and tested
Video and Audio connector set
A Joystick connector fret
2 Ratio Snee* Joystick*
Gold M0*e* con/>ectOfS
A/ BASIC for 6BO0
FBASIC IO* CftOfl.
FBASIC Iwilh ARCADE 50|i
ARCADE 50 RGB
L A BV| DEO (Motorola EXORbutl
NEW MV09 6609 Processor Board
256K Dynamc Memory Board
256K Dynamic Memory Board I* 64KI
64 k Dynamic Memofy Board
tV5 00
1600
1500
24 00
1200
11000
T1000
;5oo
1^5 00
37500
22500
79500
39500
moo
TERMINUS DESIGN INC
16 SCARBROUGH ROAD
ELLENWOOD, CA 30049
.,„, 1404. 474-4S66
itktbll
Ttt
An EBfiTSlLIligent ©TOmunications Program
Easy Installation
Menu Driven
Intelligent computer to computer communications
Supports most file transfer protocols
OStf * a tf nil* si* ol MrroMaw
P. 0. BOX 916
Idaho Falls, Idaho 83403
(206) 529-3210
FV»r*«fredtfmefto<7SC fr*
68* Micro Journal
MODULia - BARE CARDS - CITS ■ ASSEMBLED fc TESTED
Stmckftbl* Moduli! IIT AfcT
20 *mp POVBR 3UPPLT i/(i«
w/Dlik protect nliy 330.00 400.00
DI0X CABlirrr v/rtti. * eibln
lm DltVES 200.00 2 SO. 00
HOTBM BOASD. 8 33-S0e. 8 33.30c
WMI bat ton 223.00 325.00
It«» Bar* KIT ALT
IT3 - INTERRUPT TIMER
1. 10, 100 pir lie. 10. OS 29.93 39 -03
PB4 - IJITEI.LIGCNT PORT BPPFIR
SlDfl* boird Coaput. 30.93 114.03 130.93
OPIA - Duil PI* pirillil port,
4 buffind I/O* 34.93 69.93 89.95
XADE - Bxtudid Addriulof
BAUD fin. PI A port 39.93 60.93 89.93
MB6 - MOTBER BOARD S3-30C
w/BAOD ffio. 64.03 140.93 199.95
P16B - 16BE PROM DISE
21. 2764 EPROM* 30.03 79.93 109.95
FD69 - Flraviri durilopaiit
3. *K blocks 39.03 84.93 114.95
XMPR - 2764 PROM buroir idipt.
for 2716 BURNER 19.93
CHfRRT Eiyboird w/Ciblmt
96 fcir cipieltlve 349.93
TAZAR 13", 18 Mb* MONITOR OREEM 140.95
AMBER 159.95
4 MOOOLE CA6IRET - uiflilibid 150.00
POOR flOPPLT w/dlik protict 330.00
Color Computer
MOWOtlFE - 20 Mbi MoDocbron*
vldio driver 13.00 20.00
CC30 PORT BOS »/powir lupplj
3 88-30. 2 Cirt 169.93 199.93
POVB1 BOX 6 iwltcbid out lit*
triAilint luppronloi 29.03 39.03
RS'333 3-ivltcbid porti
for ibove ADD +30. 00 +33.00
Write tor FREE Catalog
ADO 53.00 SCH PER ORDER
WIS. A00 S SAL^S TAX
11931 W. Bluemound Road
MILWAUKEE. WIS. 53226
(414)2570300
68' MICRO JOURNAL
ADVERTISERS INDEX
'68' MICRO JOURNAL
.67,68
....70
ACORN COWITTER SYSTEMS
ANDERSON COMPUTER CONSULTANTS ....
....67
CCM>ILER EVALUATION SKVICES
....59
0M>U7ER EXCELLENCE INC
....60
C04VTER PUBLISHING INC
.... 5
CCHVTER SYSTEMS CENTER
....66
Om/TER SYSTEMS CONSULTANTS, INC.
...64
DATA-COW
...IBC
DIGITAL RESEARCH COMPUTERS
.62,63
D.P. JOHNSON
....59
EAPCO
....69
GMIX, INC
..3,72
GREAT PLAINS C0MPUT» CO
....69
NAZELWOE CTJf>UTER SYSTEMS
...08C
INTROL CORP
....61
UOYD I/O
....68
MICPOMARE SYSTEMS CORP
...1,4
PERIPfCRAL TECHNOLOGY
....71
SARDIS TECHNOLOGIES
....60
SOKE SIGNAL BROADCASTING
6
SOUTH EAST MEDIA 35.36.37.38
SOUTHWEST TECHNICAL PRODUCTS INC.
...IFC
STAR-KITS
....67
TALBOT MICROSYSTEMS
....64
TDWINUS DESIGN INC
....69
TMP SOFTWARE
60
UNITEK
68
tCSTCHESTER APPLIED BUSINESS SYSTEMS .71
WINDRU* MICRO SYSTEMS LIMITED ...
....65
This Index Is provided as a reader service. The
publisher does not assume any liability for
omissions or errors.
70
6a* Micro Journal
PT-69 SINGLE BOARD COMPUTER SYSTEM
OS-9 OR STAR-DOS NOW INCLUDED
• 1 MHZ 6809E Processor
• 2 RS232 Ports (6850)
• 2 8-tMl Ports (6821)
• 56K RAM 2K/4K EPROM
• Tlmoof-Day Clock
• 279? Floppy Disk Controller
-PT69S2-40 $999 95
Complete System wfth PT-69
Board, 2 DS/DD 5V4 M 40 TR
Drives, Cabinet Power Supply.
Your choice of OS-9 or STAR- DOS.
— PT-6BS Assembled & Tested Board with $399 96
Power Supply and Cabinet.
— PT-69A Assembled and Tested Board. $295 95
^Parallel Printer interface with Cables $ 49.95
— OS-9 Level 1 $200.00
— STAA-DOS Level 1 550,00
Jl I
\
ffliipnj | • |
PERIPHERAL TECHNOLOGY
"Supplying Your Computer Needs Since 1978"
3760 Lower Roswell Road
Marietta, Georgia 30067
VISA/MASTERCARD/CHECK/COD 404/973-0042
XDMS
Data Management System
OlSPtAY J / INPUT
( pacmmg f^^Jvmn
\ put r^* 7*Mo*a
si
JL<JL>
(~) {jgSj^ lz£Z$
System Architecture
Turn XDMS Data M*n*a*n*rv1 * v *imm it Avttloblt id thro* l*v*1t. Etc*
lOvol inclkKf* tht XDMS hucloul. VNOEM utility and Sytt**) Docum*M ttion
for |*v*| 111. XtMl It on* of tno noil powerful ay*t*mi ..i t [<»)| for
6g0* comp u i*r* «nd mtr bo ut*d for a wid* «AM*ty of Application*. XDMS
u**r* at* r«9i«1tr*d Hi our «AtAPAt* lo »fi«M (lltf riBul Ion of protlucf
Announcement ■ *nd validation of u*A' upgrade* **d mamtanAnct requtttt.
XflMB LtYll I
XDH1 Level 1 intuit ol LtriUtt UPDATE tnd REPORT ftrimiet.
Thli livil |« tmindtd ji «n 'entry level* tyttem» end permit* entry and
reporting Of date on • 'tADulAr" ba«it. Tn* REPORT facility ftupport*
ncord aftd Field* **l*cHoftt fl*ld marge, sorting, lino c alcul a1)on« (
column tot Alt An« report titling. Control It via a £ne/l l*n - } i * * languAg*
wtiicn lit u?wArd coetpatiDJ* with level XI. XDMS Lovol !♦.... t1.7O.03
XDMS Lewi 11
Lo«ol I! Add* lo Lavol I tno p£>M*r'ul OENtRATE facility. Thti facility
can be t out*! oi a» a donor aI file procevtor which can produce npont.
form* And form latter* A* wall 4* 'll* Output «*nicfi «**y bo ro-mottt to
the facility. GEKERAfE rtey 90 u«*d in comPJei proc*l«i'i4 application*
And i» controlled bv A EnoUnh-li*»e commend language whic* encompettet
that LH«d *y Level t. XDMS Level II ♦.,,»..♦. ,tl*«.*3
Level III include* All of 1***1 SI »|ut a tot of utoful DMS Vtilitiot.
Tnete utilities arc O**i0n*d lo Aid in tno development And maintenance
of user application* anil por*iit modlficef ion of XDMS ey«1*m p*ra««t*r«.
input and outeut of 1IDMS fllot* dinolay and e>odif ttAtioo of ftl* formal.
graphic display of numerical oaia And otrier functions. Level ill 1*
intended for edvAnced XDMS u»tr». XDMX Level III ....... , «2t*.9S
XDMS System Documenration only itlO. cndM to»erd put-cnatoi. . .t 24. eS
AAGC ALtountmu. gvmtoern
7*e XoCC Qonarol Accoutlirig Syttam it doai9n*d for tmall butinott
• nwironmont* of up to lb»Oflfl account! Anai inventory Hoi*. Trio tyttom
inlogrofta account trif functlOnt And in«»*»tory plut tho go«i*rAl l*(Jlg*r.
account* rOCOIvttl* A4>d payahl* functLOn* normally told tOOArAtoly U
otnvr tyttomt. fo*turot ut*r dofmod Account*, products ior torvicotl,
1r AiitACtiorii. tn<roiciA|. Otc. Eavily configured to mott onvirofttttnt t.
XACC 0«A*rAl AccOvr>ting tytlom lD*quir*t XDMS. Dr*f. L». !ll>. . !2oo.tS
XACC Sytiom Document Alio ooly lilO. c«odit to«*rd Purclvatoi. > •* it.fa
WB8TCHBBTER Applied Butlno** Byitom*
Pott Offico 9o> lS7» Bri4,rcllff Manor. M.T. 10510
AM 9oltwrm )% vrlttsn in wcro/ot)M6l»r <>rnj runs uotfor 6809 FL€X 0/S.
Ter*»: Ovdi, f4onw Orclor i Visa or Kamtorehare©. Shlpoj»nf fir*t eloss.
Add PtH 17*50 (17*90 Foreign). NT *Res ddtf to*Ot taw. Spech
WBBTCHE6TER Appliod Bu*lh«i
Pott Offico Bet itr
Bri*rcliff WAftor, K.T. 10910
Sole*: S. E. «DIA, t
TLEX I* o tr
Ify Vor 8».
S3eWeO0. Consul tot Ion: 914-941-3552 (•*■«*>-
or TtKhnicdi Sy^roon COfVtultOnt*, trr
66' Micro Journal
71
GINIX STATE OF THE ART 6809 SYSTEMS FOR THE SERIOUS USER.
GIMIX has 19MB or high performance
47MB Winchester Drive Systems and/or
Floppy Disk Drive Systems.
For the ultimate in performance, the Unique GMX 6809 CPUIH
using either OS-9-GMX1D or UniFLEX GMXIU (available shortly),
gives protection to the system and other users from crashes
caused by defective user programs, e.g. During program
development, a programmer who crashes goes back to the
shell or the debugger, while the other users are not even
aware anything occurred.
The intelligent serial I/O processor boards signih
cantly reduce system overhead by handling rou-
tine I/O func-
tions, there-
by freeing up
the host CPU for
running user
programs. This
speeds up system per-
formance and allows
multiple terminals to be
used at 19.2K baud.
8ASJC49 art OS-9 vt Pwfentfs of Wcnto/v Systan* Corp and MOTOaOLA. inc
R£X and UniFLEX art tntenarts of fecftncal Systams Gorcutams. inc
GIMIX GXOSl GMX. CIA5SY CHASSIS, art tndwurta of GIMIX. IOC
Gimix
inc.
For the user who appreciates the need for a%
bus structured system using STATIC RAMe
and powered by a ferro resonant constants
voltage transformer g
GIMIX has single user systems that can run*
both FLEX and OS-9 or Multi user systems for
use with UniFLEX or OS-9.
GIMIX versions of OS9 and UniFLEX in-
clude maintenance and support by Micro-
ware (90 days) and TSC (I year). Mainte-
nance and support after this period
are available at extra
cost.
(NOTE: this support and
maintenance is only
for use with approved
GIMIX hardware)
/ GIMIX 6809 systems
/ support five predominant
/ operating systems
OS 9 GMX III,
OS-9 GMX II,
UniFLEX,
OS-9 GMX I,
FLEX
and a wide variety ol languages
and development soitware
Whatever your application software
development, instrumentation, process
/ control educational scientific or business
/ whether you need single or multi-user
/ capabilities GIMIX has hardware and the
/ operating systems to get the job done
reliably
Please phone or write tl you need turther inlormation
1337 WEST 37th fLACE • CHICAGO. ILLINOIS 60609 • (312) 927-5510 • TWX 910-221 4055
19*3 aaaz inc.
For Onfrrlng C*M TOLL FREE
1-800-338-6800
CPI
Color Micro Journal
'68* Micro Journal
Data-Comp
SE Media
FROM - DATA-COMP, C.P.I.
A Family of 100% 68XX Support Facilities
The Folks who£IB5T Put FLEX'* on
The CoCo
Now Offering *FLEX' M (2 Versions)
AND 'STAR-DOS PLUS + ,M
TSC Editor
RfSSOOO
NOW $35.00
STAR.DOSPLUS +
• Functions Same as FLEX
• Reads - writes FLEX Dtsks
• Run FLEX Programs
• Just type: Run "STAR-DOS"
• Over 300 utilities & programs
to choose from.
PLUS
ALL VERSIONS OF FLEX & STAR-DOS- INCLUDE
+ Read- Write- Dir RS Disk +
+ Run RS Basic from Both +
+ More Free Utilities +
+ Super 800 Support +
+ Free Color Micro Journal 1 yr sub +
External Tenninal Program
Test Disk Program
Disk Examine & Repair Program
Memory Examine Program
Many Many More!!!
TSC Assembler
Kra*S000
NOW $35.00
J
CoCo Disk Drive Systems
lO LOWER PRICES ON PMC #S. AMD PlIITttS
TWCSC PACKAGES INCLUOE ORIvC, 'CONTROLLER,
POWER SUPPLY t CAB1MET, CABLE. AMD MANUAL.
• SPECIFY NMAT CONTROLLER TOO MANT JM t OR UDIO
PAi #1 - 1 SINGLE SfOEO, DOUBLE DENSITY SYS. $349.9$
PAX #! - 2 SINGLE SfOEO, DOUBLE OENSITY SYS. $639.95
PAX #3 1 DOUBLE SIDED, DOUBLE OCNSITY SYS. S439.9S
PAX #4 ~ 2 DOUBLE SIDED, DOUBLE DENSITY SYS. $699.95
PAX #i - 2 DOUBLE SIDED, 00U8LE DENSITY SYS.
THINL1NE DRIVES, HALF SIZE $499*9$
Controllers
JAM OISK CONTROLLER W/ JOOS OR RADIO SHACK
DISK BASIC. SPECIFY WHAT OISK BASIC. $134.95
RADIO SHACK DISK CONTROLLER I.I $i34 95
MK UPGRADE W/HOO. INSTRUCTIONS.
c.D.cr, AND toco z
HJL KEYBOARDS
MICRO TECH LONER CASE ROM ADAPTER
RAOIO SMACK BASIC I.?
RADIO SMACK OISK BASIC 1.1
OISK ORIYE CABINET I POWER SUPPLY
SINGLE SIDCD. DOUBLE OENSITY 5" OISK ORIYE
WHOLE SIOEO, DOUBLE OENSITV S" OISK DRIVE
EPSON RX-SO
EPSON RX-BOFT
EPSON MX- 100
EPSON F 1-100
EPSON FI-BO
EPSON MX- 70
Disk Drive Cables
CABLE FOR ONE DRIVE
CABLE TOR TWO ORIVES
S 44.95
$ 74.95
$ 74.95
$ 24.95
$ 24.95
$ 49.95
$199.95
$249.95
$269.00
$369.00
$499.00
$799.00
$549.00
$200.00
% 19.95
$ 24.95
DATA-COMP
5900 Cassandra Smith Rd
Hixson. TN 37343
[o]
SHIPPING
USA ADD ?X
FOREI6N ADD SX
MIM $2. SO
*& TOLL FREE
1-800-338*6800
For Orctar4r>9
TELEX SSI 4 14 PVT BTM
68 Mjcco Journal
JSSN 0194-5025
5900 Cassandra Smith Rd
Hixsor. TN 37343
??01Z M <*?MVdS NrQl fUvTV
?/* ?2*000
Second Ctass Postage Paid
Ai Hjxsoii. TN
Aod Addilional Mailfng Offices
r*
~
^
>>
J Megabyte dual processor HELIX"* system
} 20 Megabyte Winchester afltf floppy rfto* drfras.
0AfC£ AGA//V HAZELW00D COMPUTER SYSTEMS
demonstrates Its leadership in computer technology by
delivering the only computer system capable of switching
between either the 6809 or the 68000 processor*
Switching Is easily accomplished by a simple front panel
toggle switch. The reason we can offer this exclusive
feature now, Is that when our proven 6809 processor
board was designed several years ago, we had the
foresight to Include the bus controls that allow
processor switching.
Haaelwood Computer Systems Is also proud to be the firs*
SSO/S-64 bus manufacturer to license and deliver the
0S9/68K Operating System from Mlcroware Systems
Corporation. 0S9/68K Is the 68000 version of the popular
and powerful 0S9 Operating System. Utilizing our proven
MC-20 disk controller, 0S9/68K can conveniently share a
Winchester disk with 0S9. Changing from 6809 to 68000
operation Is as simple as switching processors and
booting the new system from the Winchester disk.
The ease of switching processors and operating systems
makes a HELIX* dual processor system the natural
choice for software development. In addition, the
advanced design of HELIX m equipment, emphasizing
performance and reliability, makes HELIX* boards and
systems the best value In computing offered anywhere.
System prices vary with configuration. Calf tor exact pricing.
THE SWITCH IS ON. . .
standi s J* ° nft rnifc* wmnestsr
ORDER' CPu® -*- *i
oVdER: MC-20
0S9/68K
J SB**
- ,— . «ribJaCt to
$250
HAZELWOOD COMPUTER SYSTEMS
907 East Terra, OTalton, MO 63366, 314-281-1055
059 ftfld OaSMGK at* n&aimwi trad*rr**x» of mtcrowar* Syaieme Co/p HEUX *» a fradeniart of Hmatwood CoKV«l»* Sysloms
. -k. d«x* ro 30 *oy*
7 7EZ./X